2016-08-26 98 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, 
    ... 
};