c++ - WxWidgets 自定义事件

标签 c++ events wxwidgets

我正在尝试在我的WxWidgets C++ 应用程序中使用自定义事件,如所述here .

在我的 wxApp 的构造函数中:

Connect(wxID_ANY, wxCommandEventHandler(APP::OnMyEvent));

然后应该捕获事件的函数:

void APP::OnMyEvent(wxCommandEvent& event)
{
    exit(0); //testing
}

最后,测试一下:

wxCommandEvent MyEvent(wxEVT_COMMAND_BUTTON_CLICKED); 
wxPostEvent(this, MyEvent);

我启动了这个东西......但似乎没有发布或没有捕获该事件。

有人理解这种行为吗?

最佳答案

您似乎正在使用以下重载 Connect :

void Connect(wxEventType eventType, wxObjectEventFunction function, 
    wxObject* userData = NULL, wxEvtHandler* eventSink = NULL)

如果是这样,那么如果类型为 wxID_ANY 的事件发生(永远不会?),那么将调用连接的函数。

也许你需要:

Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(APP::OnMyEvent));

关于c++ - WxWidgets 自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709124/

相关文章:

C# 在引发所有事件(或组合事件)后做一些工作

jQuery : Detect when element is scrolled to

python - 将小部件关联到组中,用于隐藏和显示,wxpython

c++ - 在 MOCK_METHOD 中匹配多个对象

java - 监听器事件的不同类

linux - 如何解决编译错误--makefile

binding - wxWidgets -- Bind() 到一个 resize 事件

C++:使用单个 get 函数返回与对象相关的变量

C++读取随机的txt行?

c++ - 一个愚蠢的 rand() 未找到错误