使用EVT_MENU定制winid定义

时间:2016-08-26 23:25:45

标签: event-handling wxwidgets

我是wxWidgets的初学者,所以这是我遇到麻烦的一个非常基本的事情。我想知道如何定义一个自定义的winid,例如" ID_MENU_CIRCLE"已经定义了winid的EVT_MENU。

BEGIN_EVENT_TABLE(ShapeFrame,wxFrame)
    EVT_MENU(ID_MENU_CIRCLE, ShapeFrame::OnModelCircle)
END_EVENT_TABLE()

1 个答案:

答案 0 :(得分:0)

您可能会混淆事件 ID 和事件类型。所有菜单项都生成wxEVT_MENU类型的事件,但每个事件都带有自己的唯一ID,对应于生成它的菜单项的ID。菜单项ID只是唯一的整数,允许您唯一标识项目。

所以你的ID_MENU_CIRCLE可以是任何整数,可以只是

const int ID_MENU_CIRCLE = 100;

但使用枚举定义这些常量很常见,因为你通常会有很多常量:

enum {
     ID_MENU_CIRCLE = 100,
     ID_MENU_SQUARE,
     ...
};