ubuntu下codeblocks起步-按鍵響應
原創:http://blog.csdn.net/sendltd/archive/2007/08/27/1761218.aspx
本例實現功能:在Dialog中按下Ctrl+Alt+Q關閉對話框
第一步:在Dialog類中聲明wxEVT_KEY_DOWN事件的響應函數(事件函數一定沒有返回值,參數也就有講究的,詳細說明在http://www.wxwidgets.org/manuals/2.8.4/wx_eventhandlingoverview.html)
class MyDialog: publicwxDialog
{
DECLARE_DYNAMIC_CLASS( MyDialog )
DECLARE_EVENT_TABLE()
public:
///Constructors
MyDialog();
///Destructor
~MyDialog();
void OnKeyDown(wxKeyEvent& event);
};
第二步:將wxEVT_KEY_DOWN事件與響應函數OnKeyDown關聯起來
BEGIN_EVENT_TABLE( MyDialog, wxDialog )
EVT_KEY_DOWN(MyDialog::OnKeyDown)
END_EVENT_TABLE()
第三步:實現函數
void MyDialog::OnKeyDown(wxKeyEvent&event)
{
intca=event.GetModifiers();
int code=event.GetKeyCode();
if (code=='Q'&&ca==wxMOD_ALTGR)
{
this->Close();
}
event.Skip();
}
幫助文檔:
http://www.wxwidgets.org/manuals/2.8.4/wx_wxkeyevent.html
http://www.wxwidgets.org/manuals/2.8.4/wx_keymodifiers.html#keymodifiers