CnPack Forum » CnVCL 组件包 » 多语言组件繁体中文的问题


2006-10-27 09:26 sz319
多语言组件繁体中文的问题

我测试的是最新 10月1号发布的,里面有个多语言的例子,我试了一下繁体中文,有的地方直接显示出BIG5在简体中文GB2312下显示的乱码样子(如:TButton,TCheckBox控件的文字),有的地方显示正常繁体(如:TLabel控件),不知是什么原因

2006-10-27 15:53 Passion
这个我们也没研究出一个明确的答案。初步推想是部分Windows控件自动将繁体中文转换成了unicode,因此能正常显示。
不过这个小问题对多语包的使用没什么影响。

2007-5-22 01:26 小雨哥
涉及到系统转换。

Delphi 中,使用了 Windows 系统的活动代码页转换规则,也就是说,任何 WideString 到 String (或者反之)的转换,
一律尊从当前代码页。只要存在这种转换就存在乱码的风险。文中讲到的二个乱码控件和另一个不乱码控件的区别是:
一种是 TWinControl 控件一种是 TGraphicControl 。TWinControl 是一个由系统来构造窗口的控件,它具有 ime 特征,
并且可以获得焦点,而焦点是 Active Code 启动的关键。

测试办法很简单,只要在 TWinControl 获得焦点的时候,改变活动代码页(切换一下当前输入法)就可以看到效果(或
者大概应该先切换好代码页再让 TWinControl 获得焦点,记不清了)。

解决办法:没有什么好办法,只能改造 TWinControl 为 Unicode 窗口。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.