gpt4 book ai didi

c++ - 状态栏中菜单项文本的显示不正确 - wxWidgets 3.0

转载 作者:行者123 更新时间:2023-11-28 06:50:09 27 4
gpt4 key购买 nike

我正在 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 的两个项目生成的事件。所以不要这样做。

关于c++ - 状态栏中菜单项文本的显示不正确 - wxWidgets 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24101194/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com