使用EVT_MENU自定义winid定义



我是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,
     ...
};

相关内容

  • 没有找到相关文章

最新更新