![](/img/trans.png)
[英]Closing the application by selecting 'Quit' menu item - wxWidgets 3.0
[英]Incorrect displaying of menu items text in status bar - wxWidgets 3.0
我正在Win 7 x64計算機上的CodeBlocks 13.12中使用wxWidgets 3.0編寫簡單的GUI軟件。
我想為框架創建一個菜單,框架中的每個項目在突出顯示時應使狀態欄中顯示不同的文本。 以下是到目前為止我所做的事情(僅代碼的菜單部分)。 菜單和狀態欄按計划出現。 問題在於,突出顯示的每個項目(在“文件”和“數據”子菜單中)在狀態欄中都顯示“保存項目”-這是第一個子菜單中的第一個項目。 如何更改此項以顯示正確的菜單項名稱?
代碼:
wxMenuBar* mbar = new wxMenuBar();
wxMenu* fileMenu = new wxMenu(_T(""));
//fileMenu->Append(, _("&"), _("")));
fileMenu->Append(SaveProject, _("&Save project"), _("Save project"));
fileMenu->Append(SaveProjectAs, _("&Save project as"), _("Save project as"));
fileMenu->Append(OpenNewProject, _("&Open new project"), _("Open new project"));
fileMenu->Append(OpenExistingProject, _("&Open existing project"), _("Open existing project"));
fileMenu->AppendSeparator();
fileMenu->Append(Quit, _("&Quit"), _("Quit"));
mbar->Append(fileMenu, _("&File"));
wxMenu* dataMenu = new wxMenu(_T(""));
//fileMenu->Append(, _("&"), _("")));
dataMenu->Append(ImportData, _("&Import data"), _("Import data"));
dataMenu->Append(ExportData, _("&Export data"), _("Export data"));
dataMenu->Append(SavaDataAs, _("&Save data as"), _("Save data as"));
mbar->Append(dataMenu, _("&Data"));
mainFrame->SetMenuBar(mbar);
我懷疑問題是由於您使用了重復的菜單ID(例如,兩次使用SaveProject
)。 雖然尚不清楚為什么這會導致觀察到的行為,但很明顯您不能重用菜單ID,因為您將無法區分具有相同ID的兩個項目所生成的事件。 所以不要這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.