MFC界面中英文切换---菜鸟提问

零度的折翅 2013-03-05 05:57:03
目前状况: 我已经使用vs2008,MFC完成中文的开发,现在需要界面能同时支持英文版本,我需要去开发英文版本,但是不知道如何去做。界面比较多,20个左右。程序中的字符串的中英文转换暂时不考虑。解决方案: 我在网上搜了很多资源,大概有以下几种,仅供参考:
1. 用dll动态库加载
2. 用ini配置文件
3. 在做界面时,做两套,一套中文一套英文,在程序启动一开始,或许系统的语言,根据获得的语言加载不同语言的界面。
需要帮助: 因为我比较菜,加上网上都没有具体的实例,都是理论,导致我无从下手。希望各位高手能给我提供一些具体的实例。
界面转成英文时存在界面的长度空间不够,因为翻译成英文后,界面就显示不全,界面大小有限,也就是说英文界面要调整界面的框架结构(比如界面长度100,中文一行就搞定,但是翻译成英文就很多了,一行搞不定,就显示不全)。
我其实比较倾向于我上面所说的第3种方法。到底哪种方法好,我也不是很清楚。各位高手教教我吧,谢谢!
...全文
1136 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyjj_99 2014-07-08
  • 打赏
  • 举报
回复
mark
零度的折翅 2013-03-06
  • 打赏
  • 举报
回复
谢谢arpnet99和roy896028对我的支持,我先试试看
华美乐章 2013-03-06
  • 打赏
  • 举报
回复
引用 5 楼 roy896028 的回复:
我刚写了一个中英文切换的,不过是根据系统默认的语言来切换,楼主可以参考一下。 先在资源里面建立中文的字符串资源,添加好中文后,再创建一个该资源的副本,右键->插入副本,选择英语(美国),然后改成英语的。 然后每个控件设置字符, C/C++ code ? 123 CString strTemp; strTemp.LoadString(IDS_XXX);//……
+1按照这个方法不错!
tmac_roy 2013-03-06
  • 打赏
  • 举报
回复
我刚写了一个中英文切换的,不过是根据系统默认的语言来切换,楼主可以参考一下。 先在资源里面建立中文的字符串资源,添加好中文后,再创建一个该资源的副本,右键->插入副本,选择英语(美国),然后改成英语的。 然后每个控件设置字符,
CString strTemp;
	strTemp.LoadString(IDS_XXX);//读取字符串资源
	SetDlgItemText(IDC_STATIC16,strTemp);
根据系统语言切换,在InitInstance里
if(GetUserDefaultUILanguage()!= MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED))
	{
		SetThreadUILanguage(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US)); 
	}
这不是鸭头 2013-03-06
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/arpnet99/3125767 这个就是当时默认1个分,我忘了改成0
这不是鸭头 2013-03-06
  • 打赏
  • 举报
回复
我的资源里就有一个例子,也是之前给一个同事写的演示
零度的折翅 2013-03-06
  • 打赏
  • 举报
回复
有没有一个实例,或者网上哪里有,给个网址,我菜鸟一个,真的无从下手~ 谢谢~
小段儿 2013-03-05
  • 打赏
  • 举报
回复
中文的已经做完了?那肯定得涉及界面的调整了,避免不了了,以前写字的地方改成动态的,通过ini可以记录语种,界面调整的一些信息等。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧