Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Library : Other (not classified elsewhere) » Keyboard shortcut
Re: Keyboard shortcut [message #21763 is a reply to message #21760] Thu, 04 June 2009 15:10 Go to previous messageGo to previous message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
Hello, Sam.

I can provide you some example.
HideMenuExample.h:
#ifndef _HideMenuExample_HideMenuExample_h
#define _HideMenuExample_HideMenuExample_h

#include <CtrlLib/CtrlLib.h>

using namespace Upp;

class HideMenuExample : public TopWindow {
public:
	typedef HideMenuExample CLASSNAME;
	HideMenuExample();

	FrameRight<Button> btn;
	MenuBar menu;
	// Bars
	void MainBar(Bar& bar);
	void FileBar(Bar& bar);
	// GUI Events
	void OnHideMenu();
	void OnHideButton();
	void OnButtonClick();
	// Input Events
	virtual bool Key(dword key, int count);
	// Methods
	String ShowButtonLabel(bool show) { if (show) return "Hide button"; else return "Show button"; }
};

#endif

HideMenuExample.cpp:
#include "HideMenuExample.h"

HideMenuExample::HideMenuExample()
{
	Title("Hide menu example");
	MaximizeBox().MinimizeBox().Sizeable().CenterScreen();

	btn.SetLabel("?");
	btn.WhenPush = THISBACK(OnButtonClick);

	AddFrame(menu);
	//AddFrame(TopSeparatorFrame());
	menu.Set(THISBACK(MainBar));
	menu.AddFrame(btn);
	
	SetRect(0, 0, 640, 480);
}

void HideMenuExample::MainBar(Bar& bar)
{
	bar.Add("File", THISBACK(FileBar));
}

void HideMenuExample::FileBar(Bar& bar)
{
	bar.Add("Hide this menu", THISBACK(OnHideMenu)).Key(K_CTRL_H);
	bar.Add(ShowButtonLabel(btn.IsVisible()), THISBACK(OnHideButton)).Key(K_CTRL_B);
	bar.MenuSeparator();
	bar.Add("Exit", THISBACK(Close)).Key(K_CTRL_Q);
}

void HideMenuExample::OnHideMenu()
{
	menu.Show(!menu.IsVisible());
}

void HideMenuExample::OnHideButton()
{
	btn.Show(!btn.IsVisible());
}

void HideMenuExample::OnButtonClick()
{
	PromptOK("Clicked");
}

bool HideMenuExample::Key(dword key, int count)
{
	if (!menu.IsVisible())
	{
		if (key == K_CTRL_H)
		{
			OnHideMenu();
			return true;
		}
		else if (key == K_CTRL_Q)
		{
			Close();
			//return true;
		}
	}

	return TopWindow::Key(key, count);
}

GUI_APP_MAIN
{
	HideMenuExample().Run();
}

[Updated on: Thu, 04 June 2009 15:54]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Why struct instead of class?
Next Topic: PromptYesNo = 1|0 not IDYES|IDNO ?
Goto Forum:
  


Current Time: Tue May 14 08:09:47 CEST 2024

Total time taken to generate the page: 0.01641 seconds