• wxwidget自定义消息处理步骤


    from 

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

    略有修改


    自定义消息处理
    (不知道在wxpython,wxruby如何自定义类型消息?
    最好装个wxpython,在其demo现场编写现场查看结果)

    步骤如下:

    1.在宏里处理如下:

    a.

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


      xxxx 为自定义数字,不过翻到wxwidget内部,其宏定义中该value好像
      没用!(...)

    b. 定义wxEvT_MYCOMMAND 标识

      DEFINE_EVENT_TYPE(wxEVT_MYCOMMAND)

    c. 定义宏EVT_MYCOMMAND
       格式中把自定义标识改为自己即可.拷贝.

    #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);
  • 相关阅读:
    《你的灯还亮着吗》读后感1
    找"1"
    阅读计划---《梦断代码》3
    阅读计划---《梦断代码》2
    个人工作总结(10)
    个人工作总结(9)
    个人工作总结(8)
    个人工作总结(7)
    学习进度条
    个人工作总结(6)
  • 原文地址:https://www.cnblogs.com/vimmer/p/3546050.html
Copyright © 2020-2023  润新知