wxwidget自定義消息處理步驟

from html

http://www.cppblog.com/kenlistian/archive/2009/02/06/73096.htmlpython

略有修改ruby

 


自定義消息處理
(不知道在wxpython,wxruby如何自定義類型消息?
最好裝個wxpython,在其demo現場編寫現場查看結果)函數

步驟以下:post

1.在宏裏處理以下:this

a.spa

BEGIN_DECLARE_EVENT_TYPES()
    DECLARE_EVENT_TYPE(wxEVT_MYCOMMAND, xxxx)
END_DECLARE_EVENT_TYPES()

 


  xxxx 爲自定義數字,不過翻到wxwidget內部,其宏定義中該value好像
  沒用!(...)code

b. 定義wxEvT_MYCOMMAND 標識htm

  DEFINE_EVENT_TYPE(wxEVT_MYCOMMAND)

 

 

c. 定義宏EVT_MYCOMMAND
   格式中把自定義標識改成本身便可.拷貝.blog

 

#define EVT_MY_CUSTOM_COMMAND(id, fn) \
    DECLARE_EVENT_TABLE_ENTRY( \
        wxEVT_MYCOMMAND, id, wxID_ANY, \
        (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent( wxCommandEventFunction, &fn ), \
        (wxObject *) NULL \
    ),
 

 


2.在BEGIN_EVENT_TABLE表中自定義映射.
 

 
  EVT_MY_CUSTOM_COMMAND(wxID_ANY, MyFrame::OnMyfunction)

 

 

3.處理投遞

    自定義消息發送,this 通常是接受消息handler,也可其它wxEvtHandler.

    wxCommandEvent myEvent(wxEVT_MY_CUSTOM_COMMAND);
    wxPostEvent(this, myEvent);

 

 

4.自定義消息處理函數
   必須符合wxCommandEventFunction格式,既爲以下:

    
 void OnMyfunction(wxCommandEvent& event);
相關文章
相關標籤/搜索