我现在有一个别人做的软件,可是字体在98下显示的特难看,而在2000下就没有问题了,不知道为什么,有什么办法解决吗??

解决方案 »

  1.   

    我们在使用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
      

  2.   

    把控件的字体Font改为宋体小五号(中文Windows的标准字体)
      

  3.   

    没有源程序???呵呵,,,你问borland工程师吧:)嘻嘻
      

  4.   

    Charset
     GB2312_CHARSET
     
    Name
     宋体
     
    Size
     10建议用 size=9,
    win2000的宋体的针对小字号比如 9,10,11都作了特殊的美化。truetype 对小字体还原是个弱项。win98 的宋体只对 9,12作了美化。