如何统一Win98与WinXP(Win2000)操作系统下的字体大小
2002-7-3 11:41:50 本站原创 黑兵 阅读2次
我们在使用BCB5编程过程中,经常会遇到一些控件比如TLable及TComboBox等显示字体大小在Windows98及WinXP或者Windows2000下字体大小不统一的问题,我们在Windows98操作系统下编写的程序,编译成功后,将.exe文件拷贝到别的操作系统下,比如windows2000、WinXP等,当我们运行程序时,会发现,一些控件比如TLable及TComboBox等中显示的字体变大了,直接严重地影响了应用程序的界面整体效果,那么,我们怎么去解决这个问题,而让这个应用程序各部分字体显示的大小都统一了呢?
首先,我们选择一个控件,比如TLable控件,然后,在左边的属性列表中选择Font属性,点击它左边的加号,打开它的子属性,在Font属性中,我们将它的Charset子属性设置为GB2312_CHARSET,将它的Name子属性设置为“宋体”,Size子属性设置为10,保存文件,重新编译。然后,我们再将重新编译好的.exe应用程序文件拷贝到装有WinXP或者Windows2000的机器中,运行程序,我们会惊喜地发现,字体显示正常了。
由此看来,字体显示问题是源于Font属性设置的,当它的Charset子属性是默认值时,程序会自动读取当前操作系统的默认设置,而Windows98与WinXP(Windows2000)对字体显示的默认值是不同的,所以才会出现字体大小显示不同的情况,这并不能算作BCB5的Bug,而是操作系统的默认值不同。一样是默认值,在WinXP及Windows2000中并没有将所有显示的汉字当作符合GB2312的字符集来处理,显示的字体也没有当作真正的纯中文字体来显示。
下面,我们再来重申一下能够显示字体的控件的Font属性的几个子属性:
子属性名称
值
Charset
GB2312_CHARSET
Name
宋体
Size
10
欢迎参与讨论!黑兵网站(http://www.ancn.net)
621150@0451.com OICQ:621150
2002年7月3日