WxWidgets 动态事件处理程序调整大小

WxWidgets dynamic event handler resize

在 WxWidgets 中使用动态事件时 table 与静态事件相比,捕获调整大小事件。 使用静态 table 我使用

EVT_SIZE(MyFrame::OnSize)

并作为我使用的菜单项的参考

EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
//for the dynamic
frame->Connect( wxID_ABOUT,
    wxEVT_COMMAND_MENU_SELECTED,
    wxCommandEventHandler(MyFrame::OnAbout) );

ok 所以在动态设置中使用菜单 wxEVT_COMMAND_MENU_SELECTED 而在静态设置中,我使用 EVT_MENU。所以我的问题是我用什么代替 EVT_SIZE? 我也想知道 EVT_MENU 和 wxEVT_COMMAND_MENU_SELECTED 两者之间的区别是什么。还有一个是什么类型的东西在 C++ 中?枚举

my question is what do I use instead of EVT_SIZE?

wxEVT_SIZE

在 wxWidgets 3.0 中,你可以而且应该使用 wxEVT_MENU 而不是 wxEVT_COMMAND_MENU_SELECTED,因为所有事件类型常量都已重命名为与宏使用的名称相同的名称,因为一致性(为了兼容性,旧名称仍然存在,使用它们并没有真正的危害,但它们又长又笨重,所以何必呢)。

至于类型,wxEVT_XXX本身就是int,但也有wxEventTypeTag<>模板的匹配特化,所以你不能只定义你的自己的,请参阅 wxDECLARE_EVENT() and wxDEFINE_EVENT() 宏以了解正确的方法。