首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 软件开发 → VC编程 → 文章内容

VC中多语言菜单的实现

作者:浙江大学 王向伟  来源:网上收集  发布时间:2007-3-27 10:15:06

VC中多语言菜单的实现
作者:浙江大学 王向伟

下载本文示例代码

软件的国际化不可避免。一种软件可能被很多国家的人使用,如给您的软件加上多种语言的菜单,不但给使用者带来很多方便,也为您的软件的推广带来很多便利。比如给您开发的中文软件,加上一个英语或日语菜单,对母语为英语和日语的朋友将会带来很多便利。




VC中实现多语菜单非常容易,下面以英汉对照菜单为例说明多语菜单实现的方法。

一、建立工程项目文件

选择语言为中文,其余采用默认,添加中英文切换菜单IDD_MENU_CHANGE

二、用文本形式打开资源文件,找到IDR_MAINFRAME的菜单文本内容如下:
IDR_MAINFRAME MENU PRELOAD DISCARDABLE BEGIN    POPUP "文件(&F)"    BEGIN        MENUITEM "新建(&N)\tCtrl+N",            ID_FILE_NEW        MENUITEM "打开(&O)...\tCtrl+O",         ID_FILE_OPEN        MENUITEM "保存(&S)\tCtrl+S",            ID_FILE_SAVE        MENUITEM "另存为(&A)...",               ID_FILE_SAVE_AS        MENUITEM SEPARATOR        MENUITEM "打印(&P)...\tCtrl+P",         ID_FILE_PRINT        MENUITEM "打印预览(&V)",                ID_FILE_PRINT_PREVIEW        MENUITEM "打印设置(&R)...",             ID_FILE_PRINT_SETUP        MENUITEM SEPARATOR        MENUITEM "最近文件",                    ID_FILE_MRU_FILE1, GRAYED        MENUITEM SEPARATOR        MENUITEM "退出(&X)",                    ID_APP_EXIT    END    POPUP "编辑(&E)"    BEGIN        MENUITEM "撤消(&U)\tCtrl+Z",            ID_EDIT_UNDO        MENUITEM SEPARATOR        MENUITEM "剪切(&T)\tCtrl+X",            ID_EDIT_CUT        MENUITEM "复制(&C)\tCtrl+C",            ID_EDIT_COPY        MENUITEM "粘贴(&P)\tCtrl+V",            ID_EDIT_PASTE    END    POPUP "查看(&V)"    BEGIN        MENUITEM "工具栏(&T)",                  ID_VIEW_TOOLBAR        MENUITEM "状态栏(&S)",                  ID_VIEW_STATUS_BAR        MENUITEM "弹出CD",                      ID_VIEW_FULLSCREEN        MENUITEM "英文",                        ID_MENU_CHANGE    END    POPUP "帮助(&H)"    BEGIN        MENUITEM "关于 FullScreen(&A)...",      ID_APP_ABOUT    ENDEND
在此后加入英文菜单资源复制上述文本,把其中的中文改成英文,并作些改动
IDR_MAINFRAME_ENGLISH MENU PRELOAD DISCARDABLE BEGIN    POPUP "File(&F)"    BEGIN        MENUITEM "New(&N)\tCtrl+N",             ID_FILE_NEW        MENUITEM "Open(&O)...\tCtrl+O",         ID_FILE_OPEN        MENUITEM "Save(&S)\tCtrl+S",            ID_FILE_SAVE        MENUITEM "Save as(&A)...",              ID_FILE_SAVE_AS        MENUITEM SEPARATOR        MENUITEM "Print(&P)...\tCtrl+P",        ID_FILE_PRINT        MENUITEM "Print Preview(&V)",           ID_FILE_PRINT_PREVIEW        MENUITEM "Print Setting(&R)...",        ID_FILE_PRINT_SETUP        MENUITEM SEPARATOR        MENUITEM "Recent Files",                ID_FILE_MRU_FILE1, GRAYED        MENUITEM SEPARATOR        MENUITEM "Exit(&X)",                    ID_APP_EXIT    END    POPUP "Edit(&E)"    BEGIN        MENUITEM "Undo(&U)\tCtrl+Z",            ID_EDIT_UNDO        MENUITEM SEPARATOR        MENUITEM "Cut(&T)\tCtrl+X",             ID_EDIT_CUT        MENUITEM "Copy(&C)\tCtrl+C",            ID_EDIT_COPY        MENUITEM "Paste(&P)\tCtrl+V",           ID_EDIT_PASTE    END    POPUP "View(&V)"    BEGIN        MENUITEM "ToolBar(&T)",                 ID_VIEW_TOOLBAR        MENUITEM "StatusBar(&S)",               ID_VIEW_STATUS_BAR        MENUITEM "Eject CD",                    ID_VIEW_FULLSCREEN        MENUITEM "Chinese",                     ID_MENU_CHANGE    END    POPUP "Help(&H)"    BEGIN        MENUITEM "About FullScreen(&A)...",     ID_APP_ABOUT    ENDEND
修改完成后保存资源。

三、在 CMainFrame中加入变量CMenu m_englistmenu 和m_chinesemenu保存中英文菜单资源
加入变量enum Enum{e,c}m_current 保存当前菜单

四、由于默认为中文菜单在 CMainFrame::CMainFrame()中设置m_current=c;表示当前为中文菜单,在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中装入英文菜单资源
m_englistmenu.LoadMenu("IDR_MAINFRAME_ENGLISH");HMENU m_hMenu=::GetMenu(this->m_hWnd); // 保存中文菜单m_chinesemenu.Attach(m_hMenu);
五、加入菜单函数
void CMainFrame::OnMenuChange() {if(m_current==e){SetMenu(&m_chinesemenu);m_current=c;}else{SetMenu(&m_englistmenu);m_current=e;}}
编译运行程序您就可以获得一个具有英汉对照菜单的应用程序。

[] [返回上一页] [打 印]
  • 上一篇文章:图形超链接类
  • 下一篇文章:一种漂亮的自绘菜单

  • 相关文章:
  • [图文]自绘菜单的实现
  • [图文]VC中多语言菜单的实现
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号