wxWidgets:菜单
生活随笔
收集整理的這篇文章主要介紹了
wxWidgets:菜单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
和菜單有關的類主要有兩個:wxMenuItem和wxMenu。wxMenuItem用于表示一個菜單項,而wxMenu是wxMenuItem的彈出或下拉列表。
現在讓我們看看如何給我們的框架類加上菜單:
MyFrame::MyFrame: wxFrame {// 新建下拉菜單// 該下拉菜單將顯示在MyFrame的MenuBar上// 所以我們不希望它有自己的標題欄// 如果為其構造函數指定wxString參數// 該string將在這個menu顯示出來時作為其標題欄一并顯示出來wxMenu *menuFile = new wxMenu();// 菜單項:OpenwxMenuItem *menuItemOpen = new wxMenuItem(menuFile, ID_MENUITEM_OPEN, L"Open...");// 菜單項:ClosewxMenuItem *menuItemClose = new wxMenuItem(menuFile, ID_MENUITEM_CLOSE, L"Close...");// 將菜單項Open加入下拉菜單menuFile->Append(menuItemOpen);// 將菜單項Close加入下拉菜單menuFile->Append(menuItemClose);// 創建菜單條wxMenuBar *menuBar = new wxMenuBar();// 將下拉菜單加入菜單條// 該下拉菜單將在menuBar上顯示為”File"menuBar->Append(menuFile, L"File");// 設置MyFrame的菜單條 SetMenuBar(menuBar); }?每一列下拉菜單(或彈出菜單)都是一個wxMenu對象;每一個子菜單本身也是一列下拉菜單,因此也是一個wxMenu對象。
下面的代碼給File菜單增加一個Recent Files子菜單,這個子菜單有兩個item:R1和R2。
// 子菜單本身也是一個wxMenu對象wxMenu *menuRecent = new wxMenu();// 子菜單的兩個菜單項wxMenuItem *menuItemR1 = new wxMenuItem(menuRecent, ID_MENUITEM_R1, L"R1");wxMenuItem *menuItemR2 = new wxMenuItem(menuRecent, ID_MENUITEM_R2, L"R2");menuRecent->Append(menuItemR1);menuRecent->Append(menuItemR2);// 使用wxMenu對象的AppendSubMenu函數將子菜單加入File菜單列menuFile->AppendSubMenu(menuRecent, "Recent Files");下面的代碼將菜單項選擇事件與某個處理函數關聯:
Bind(wxEVT_MENU, &MyFrame::OnMenuItemOpen, this, ID_MENUITEM_OPEN);?
總結
以上是生活随笔為你收集整理的wxWidgets:菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态调用WebService方法
- 下一篇: golang append时slice