早期的wxwidgets使用類似mfc的方式進行訊息處理;在新版中這種對映方式仍然得以保留。
在myframe.h中新增:
private:
void onquitbutton(wxcommandevent &event
); wxdeclare_event_table();
onquitbutton是事件處理函式,我們用它來處理按鍵訊息。該函式接受乙個wxcommandevent引用引數。
wxdeclare_event_table()表示我們將會在該類中處理一些訊息。最好將該語句放在類的最後:它會改變成員訪問型別。
訊息處理函式返回void型別。
在myframe.cpp中新增:
void myframe :: onquitbutton(wxcommandevent &event)wxbegin_event_table(myframe, wxframe)
evt_button(id_button_quit, myframe::onquitbutton)
wxend_event_table()
我們使用wxbegin_event_table(myframe, wxframe)和wxend_event_table()來定義訊息對映表。
巨集wxbegin_event_table的兩個引數中,myframe表示用於處理訊息的函式所在的class;wxframe表示myframe處理不了的訊息將由wxframe處理。
evt_button給tool指定訊息處理函式。evt_button巨集的第一引數是你自己定義的tool id,在某個enum中從1開始指定;第二引數就是你的訊息處理函式。
wxWidgets自定義訊息及處理
使用者自定義訊息通常從wxevent派生,下面,以乙個使用者自定義的projectevent為例,說明自定義訊息的步驟 首先,在標頭檔案中宣告訊息。userevent.h class projectevent wxevent wxdeclare event project event,project...
wxWidgets教程(2) 事件處理
wxwidgets是事件驅動的,使用下面的巨集 declare event table 宣告乙個事件巨集 enum idlist begin event table mywxframe,wxframe evt button id btn 1,mywxframe ontips 將按鈕與函式繫結 end...
訊息和訊息處理之訊息迴圈
在win32程式設計中,訊息迴圈是相當重要的乙個概念,看似很難,但使用起來卻是非常簡單。在winmain函式的最後,有下列 while getmessage msg,null,0,0 windows應用程式可以接收以各種形式輸入的資訊,這包括鍵盤 滑鼠動作 計時器產生的訊息,也可以是其他應用程式發來...