簡體   English   中英

在狀態欄中錯誤顯示菜單項文本-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM