Win 7 x64 시스템의 CodeBlocks 13.12에서 wxWidgets 3.0을 사용하여 간단한 GUI 소프트웨어를 작성하고 있습니다.상태 표시 줄에 메뉴 항목 텍스트가 잘못 표시됨 - wxWidgets 3.0
프레임의 메뉴를 만들고 프레임의 각 항목을 강조 표시하면 상태 표시 줄에 다른 텍스트가 나타나야합니다. 아래는 지금까지 내가 한 것입니다 (코드의 메뉴 부분 만). 메뉴 및 상태 표시 줄이 계획대로 나타납니다. 문제는 파일 및 데이터 하위 메뉴의 모든 항목이 강조 표시 될 때 첫 번째 하위 메뉴의 첫 번째 항목 인 상태 표시 줄에 "프로젝트 저장"을 표시한다는 것입니다. 적절한 메뉴 항목 이름이 표시되도록 변경하는 방법?
CODE :
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를 두 번 사용하여 지적한 것은 제 질문에 오타였습니다. 나는 그것을 편집했습니다. 나는 메뉴 ID를 열거하는 다른 방법을 사용하여 문제를 해결했다. 처음에는 wxID_HIGHEST + 1의 도움으로 해냈지만 작동하지 않았고 그 이유를 알지 못합니다. –
이것은 매우 의심 스럽습니다. 메뉴 항목을 생성하는 것은 거의 모든 wxWidgets 프로그램에서 수행되는 작업이며 이러한 문제가 오래 동안 주목받지 못하면 매우 놀랄 것입니다. 두 번째 가설은 작성한 것처럼 모든 ID가 고유하다는 것을 확인한 후에이 코드가 확실히 작동해야하기 때문에 프로그램에서 다른 것을하고 있다는 것입니다. –