wxwidgets的消息处理机制比较灵活,效率也比较高,这里只研究一下最基本的东西。
自定义一个消息以前的用法是
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EVENT_TYPE(, )
END_DECLARE_EVENT_TYPES()
现在的用法是
DEFINE_EVENT_TYPE()
消息处理也很容易理解
BEGIN_EVENT_TABLE(窗口类,基类)
EVT_BUTTON(窗口标识,处理函数)
........
END_EVENT_TABLE()
如果是自定义消息就要看处理函数的类型是怎样的。
如果处理函数是wxEventHandler类型直接使用EVT_CUSTOM来处理,如果处理函数类型是wxCommandEventHandler,就要使用EVT_CUSTOM来处理。
下面的例子在http://blog.youkuaiyun.com/kese/archive/2007/09/08/1776985.aspx例子 的基础上改造出来的
wxButtonStudio.cpp
#include <wx/wx_gch.h>
class wxButtonStudio : public wxApp
{
public:
bool OnInit();
};
class wxButtonFrame : public wxFrame
{
public:
wxButtonFrame(wxWindow* parent,const wxWindowID id,const wxString& title);
~wxButtonFrame();
wxCh