我是wxWidgets的初学者,所以这是我遇到麻烦的一个非常基本的事情。我想知道如何定义一个自定义的winid像"ID_MENU_CIRCLE"与EVT_MENU已经定义了winid的。
BEGIN_EVENT_TABLE(ShapeFrame,wxFrame)
EVT_MENU(ID_MENU_CIRCLE, ShapeFrame::OnModelCircle)
END_EVENT_TABLE()
您可能混淆了事件 id 和事件类型。所有菜单项都会生成wxEVT_MENU
类型的事件,但是每个事件都有自己唯一的ID,对应于生成它的菜单项的ID。菜单项id是唯一的整数,允许您唯一地标识项目。
所以ID_MENU_CIRCLE
可以是任意整数可以是
const int ID_MENU_CIRCLE = 100;
但是通常使用枚举来定义这些常量,因为通常会有很多这样的常量:
enum {
ID_MENU_CIRCLE = 100,
ID_MENU_SQUARE,
...
};