首页 > 其他分享 >#MFC-中英语言切换问题 草稿1

#MFC-中英语言切换问题 草稿1

时间:2023-02-24 21:46:08浏览次数:32  
标签:case 语句 MAKELANGID 语言 草稿 MFC 中英 ENGLISH 线程

操作流程:2023-02-24  09:03:01


 

  • 1.新建工程MFC(基于对话框),默认“中文”。
  • 2.添加多国语言资源。(Set Dialog)。
  • 3.Local设置线程语言。
  • name_combox.AddString(_T("zhong"));
        name_combox.AddString(_T("ying"));
        LANGID Language{0};
        LANGID LanguageId1 = MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED);
        LANGID LanguageId2 = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);
        UpdateData(false);
        int combox_number = name_combox.GetCurSel(); //选取列表框中的一个选项,索引从0开始,-1为什么都不选
        switch (combox_number)
        {
        case 0:
            
            SetThreadUILanguage(LanguageId1);
            //SetThreadUILanguage(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED));
            break;
        case 1:
            
            SetThreadUILanguage(LanguageId2);
            //SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
        
            break;     
  • 4.字符串处理的多语言版本。
  •             ①string table②添加控件、响应函数③分别在initimstance添加设置线程语言代码
  • 5.通过菜单进行语言切换,重启软件。
  • 今日问题:
  • ①Json文件的作用?②stringtable切换问题?stringtable有两个值(设置中文、英文后),它怎么知道加载哪个?怎么进行切换的?怎么与swich联动起来的?③全部为默认加载语言,都是联动好的()④不要用MessageBox,改用MessageBoxEx,即可指定消息框的语言。

 §   当在initinstance下设置线程语言时,系统会根据线程语言全部进行联动替换。(后面的都没有用,stringtable和dialog都会跟线程语言保持一致)

    CWinApp::InitInstance();

    LANGID LanguageId = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);  //取得语言ID; MAKELANGID宏:主语言标识符、从语言标识符;返回语言标识符
    SetThreadUILanguage(LanguageId); //设置当前的进程区域语言

§双击控件按钮提示“重载函数已存在”

①删除与此按钮有关的代码。.h afx、.cpp begin。都是自动生成的②删除一个按钮,在重新添加一个按钮(更改按钮的ID号码) 。

§swich语句

①switch() 括号内的“表达式”必须是整数类型或者可以转换为整型的数值类型。比如:byte、short、int、char、也可以直接是整数或字符常量还有枚举,哪怕是负数都可以。需要强调的是:float、double、long和String类型是不能作用在switch语句上的。

②当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

 

  • 原文链接查看(https://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html)

标签:case,语句,MAKELANGID,语言,草稿,MFC,中英,ENGLISH,线程
From: https://www.cnblogs.com/love-python123/p/17150117.html

相关文章

  • 爬虫学习素材:国家中英文名对照表
    国家中英文对照表,做爬虫时可能会需要用到。我在去年做新冠肺炎疫情地图时用到了该素材,并且对其中发现的错误内容做了修正,可以满足小型项目使用。需要的朋友可以自取。nam......
  • stm32-屏幕-中英文显示原理
    显示中英文1、显示原理字符实际上是一个个独特的图形,计算机必须把字符编码转化成对应的字符图形人类才能正常识别,因此我们要给计算机提供字符的图形数据,这些数据就是字......
  • C# 获取本地输入法列表,切换中英文输入法
    ///<summary>///设置系统输入法///</summary>///<paramname="cultureType">语言项,如zh-CN,en-US</param>privatevoidIniti......
  • Java代码工具之中英文语句分词
    在自然语言处理中比较热门的操作就是中文或英文语句分词了,分词就是按照不同的算法和参数将语句分成若干词汇。拆分后的关键词可以进行词频统计或者词云图片生成等,能够快速方......
  • 数据结构与算法-草稿
    第01章:顺序表kx001、第02章:链表第03章:栈第04章:队列第05章:字符串第06章:树第07章:图第08章:查找第09章:排序......
  • MFC-PreTranslateMessage截获消息
           ......
  • 由于找不到mfc140u.dll,无法继续执行代码的解决方法
    下载dll丢失文件第一步打开电脑浏览器上方输入【​​dll修复程序.site​​】进入后点击安装dll文件点击下载mfc140u.dll文件;下载好了需要进行解压。然后打开后点击开始检测,......
  • [MFC] 1. TeeChart的安装与使用
    环境:VS2017+TeeChart5由于毕设被迫需要使用MFC来设计程序(这显然是个很糟糕的选择),在安装与使用TeeChart插件时出现了许多问题。在2023年间我们尝试去使用1992年的技术时......
  • MFC-键盘消息
           ......
  • MFC-鼠标相关操作
            ......