我在98下做的一个软件,在2000下执行时,界面变的乱七八糟的,有的字大有的字小,许多控件的大小也有变化

解决方案 »

  1.   

    程序中全部界面的字体都统一为:宋体,CHINESE_GB2312
      

  2.   


    所以做程序时要PANEL等容器,这样就可以整体调整了
      

  3.   

    将字体都设置成宋体,字符集:CHINESE_GB2312
    就可以了
      

  4.   

    和分辨率,字體都有關
    最近剛好在做這方面的工作
    Form.Scaled = True;
    相關控件的 Anchors不要設置成akRight;最好[akLeft,akTop];
    另外最重要的是
    Sender: TForm
    if sender.BorderStyle in [bsSizeable,bsSizeToolWin] then
      則sender.Width, Height 要相應的*比率
    else 其他的form delphi 自己會相應調整(很奇怪,不知道按照甚麼樣的比率)
    同理在程序中自己寫控件的left,top,width,heigth的地方要*比率不太準確,與delphi不一樣,希望高手指教
    比率計算:
      Screen.PixelsPerInch / 96
      

  5.   

    原因:Delphi在Win98平台的默认中文字符集是Chinese-Gb2312,而在Win2000下即使你选用中文字体,字符集也不会自动改变为Chinese_Gb2312,需要手动选择。
    这个问题与平台、分辨率等都没有关系。解决方法:(在Win2000平台下)在Form的Font属性中点...,在弹出的字体选项窗口中“字符集”一项中选“Chinese_Gb2312”;注意:只有你的字体是中文的,“字符集”一项中才会有“Chinese_Gb2312”,否则只有“西方”。或者:(在Win2000平台下)在Form的Font属性中点左边的“+”号,展开后,在下面的Charset属性中选“GB2312_CHARSET”。就行了。这样在Win2000平台下做出来的界面在Win98下运行时会和你设计时的一模一样。
      

  6.   

    把所有的窗体的Font属性都改为宋体9号字CHINESE_GB2312,
    再把所有窗体的Scaled属性改为False。
      

  7.   

    所有的窗体及控件的 font :宋体 
                       字库:CHINESE_GB2312
      

  8.   

    窗体的Scaled属性是什么意思啊
      

  9.   

    程序中全部界面的字体都统一为:宋体,大小9号最好 CHINESE_GB2312
      

  10.   

    很多时候界面的原因是字体...楼上们都有说了..而且在98下面API的参数类型和NT下的有一些是不一样的..你得参考一些文档..看有没有兼容...
      

  11.   

    我字体有设置过,不过现在问题解决了,好像是设置窗口的Scaled属性搞好的,谁能讲一下Scaled属性是干什么用的?