QQ登录

只需一步,快速开始

上位机MFC实现多语言切换功能源代码

[ 复制链接 ]

上位机MFC实现多语言切换功能源代码

上位机MFC实现多语言切换功能源代码

例程效果如界面。
选择不同的语言,界面内容也会进行语言的变更。
可以下载源代码参考学习。
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC实现多语言切换功能源代码.rar 
文件大小:49.79 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


程序实现多国语言的动态切换解决方案
实现思想:
传统的做法是把所有的资源都放到动态库中,
一种语言一个动态库,
程序运行的时候通过加载不同的动态库来实现多语言功能。
这样做的缺点是不能动态切换语言,如果更换语言后必须重新启动软件。
当然,没有人会需要经常的切换语言玩儿,
但是采用动态库的方法,如果程序需要修改资源的话,就要更新所有的动态库,
这是一个非常枯燥而且容易出现疏漏的工作。

当前用到的方法是把所有用到的字符串都放到文件中,一种语言一个文件,
根据选择的语言到对应的文件中去加载字符串。这样不但可以动态切换语言,
而且用户可以根据需要自己添加新的语言。


具体实现:
        1、程序启动时检查所选择的语言,确定该语言文件,保存该文件路径
        2、提供一个全局函数,如 g_LoadString(CString szID),
            根据提供的字符串ID返回其内容,具体是哪个语言的在函数中判断,
            这样在程序中只要提供一个字符串ID就可以自动加载不同语言的文字了。
        3、如何在程序中使用:
        原来代码:
        CString str;
        str = "语言";
        改动后:
        CString str;
        str = g_LoadString("IDS_LANGUAGE");

        4、对话框中如何实现
        如果像在程序中使用一样,每一个字符串都要去加载一次的话,如果对话框比较多,工作量可就太大了。
        所以我提供了一个函数g_SetDialogStrings(CDialog *pDlg,UINT uDlgID),每个对话框在初始化的时候调用该函数,
        传递对话框的指针,我在函数中循环枚举所有的子控件,逐个设置文字。
         这样就可以省去很多工作
       
        注意:由于静态文本(CStatic)默认的ID是IDC_STATIC,值都是65535,无法区分,
        所以在需要改变其文字的CStatic的ID要改一改,不能用默认的。

        5、语言文件样例:
                中文版:
                        [Setting]
                        Language=Chinese

                        [String]
                        IDS_MENU_FILE=文件
                        IDS_MENU_FILE_NEW=新建(&N)
                        IDS_MENU_FILE_OPEN=打开(&O)
                        IDS_MENU_FILE_CLOSE=关闭(&C)
                        IDS_MENU_FILE_EXIT=退出(&E)
                英文版:
                        [Setting]
                        Language=English

                        [String]
                        IDS_MENU_FILE=File
                        IDS_MENU_FILE_NEW=&New
                        IDS_MENU_FILE_OPEN=&Open
                        IDS_MENU_FILE_CLOSE=&Close
                        IDS_MENU_FILE_EXIT=&Exit




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索