失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c++ mfc实现中英文菜单的动态切换

c++ mfc实现中英文菜单的动态切换

时间:2023-09-18 06:45:48

相关推荐

c++ mfc实现中英文菜单的动态切换

1 新建SDI

2 在视图菜单下面添加菜单-英文,ID为ID_ENGLISH

3 用文本打开项目下的资源文件

4 在对应的中文菜单下面添加下面的代码

IDR_MAINFRAME_ENGLISH MENU PRELOAD DISCARDABLEBEGINPOPUP "File(&F)"BEGINMENUITEM "New(&N)\tCtrl+N", ID_FILE_NEWMENUITEM "Open(&O)...\tCtrl+O", ID_FILE_OPENMENUITEM "Save(&S)\tCtrl+S", ID_FILE_SAVEMENUITEM "Save as(&A)...", ID_FILE_SAVE_ASMENUITEM SEPARATORMENUITEM "Print(&P)...\tCtrl+P", ID_FILE_PRINTMENUITEM "Print Preview(&V)", ID_FILE_PRINT_PREVIEWMENUITEM "Print Setting(&R)...", ID_FILE_PRINT_SETUPMENUITEM SEPARATORMENUITEM "Recent Files",ID_FILE_MRU_FILE1, GRAYEDMENUITEM SEPARATORMENUITEM "Exit(&X)",ID_APP_EXITENDPOPUP "Edit(&E)"BEGINMENUITEM "Undo(&U)\tCtrl+Z", ID_EDIT_UNDOMENUITEM SEPARATORMENUITEM "Cut(&T)\tCtrl+X", ID_EDIT_CUTMENUITEM "Copy(&C)\tCtrl+C", ID_EDIT_COPYMENUITEM "Paste(&P)\tCtrl+V", ID_EDIT_PASTEENDPOPUP "View(&V)"BEGINMENUITEM "ToolBar(&T)", ID_VIEW_TOOLBARMENUITEM "StatusBar(&S)",ID_VIEW_STATUS_BARMENUITEM "Chinese", ID_ENGLISHENDPOPUP "Help(&H)"BEGINMENUITEM "About Test(&A)...",ID_APP_ABOUTENDEND

5 给CMainFrame添加成员变量

enum Enum{e,c}m_current;CMenu m_englistmenu;CMenu m_chinesemenu;

6 在CMainFrame的构造函数中添加

m_current=c;

7 在CMainFrame的OnCreate里面添加

m_englistmenu.LoadMenu("IDR_MAINFRAME_ENGLISH");HMENU m_hMenu=::GetMenu(this->m_hWnd); // 保存中文菜单m_chinesemenu.Attach(m_hMenu);

8 实现英文菜单命令消息

void CMainFrame::OnEnglish(){// TODO: 在此添加命令处理程序代码if(m_current==e){SetMenu(&m_chinesemenu);m_current=c;}else{SetMenu(&m_englistmenu);m_current=e;}}

如果觉得《c++ mfc实现中英文菜单的动态切换》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。