2016-08-26 56 views
0

我是wxWidgets的初学者,所以这是我遇到的一个非常基本的问题。我想知道如何用EVT_MENU定义一个自定义winid,如“ID_MENU_CIRCLE”,它已经定义了winid。EVT_MENU自定义winid定义

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

回答

0

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

所以你ID_MENU_CIRCLE可以只是任意整数,可能只是

const int ID_MENU_CIRCLE = 100; 

,但它通常使用一个枚举来定义这些常量,因为你通常有很多人:

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