Delphi5开发的程序为什么在win2k和win98上界面大小不一致?(400分,大家开心)(200分)

  • 主题发起人 主题发起人 slfeng
  • 开始时间 开始时间
S

slfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
很奇怪的问题
不知道怎么回事
我在win2k下写了一个程序,在win98下运行时,界面变得很怪。多数的控件大小都和以前不一样了。
为了我不知道怎么回事,就在一个TEdit的DBClick事件中显示这个TEdit的高度。结果,同样的一个程序
win98中显示23,win2k显示20
我的这个程序需要精确定位的,否则,会很难看。
所以,请兄弟们看看,这是怎么问题。是我系统的问题,还是Delphi的固有问题。
------------------------------------
你可以在win98中做个测试。拉一个TEdit高度设置到30(或者更大些,效果明显),运行时看他的大小是不是30,如果不是
那么,你也遇到了这个问题。
 
好像系统只让我给200分,唉,我也没办法
 
//拉一个TEdit高度设置到30(或者更大些,效果明显),运行时看他的大小是不是30,
//如果不是那么,你也遇到了这个问题。
将autosize属性设为False, 就是30了。
 
设置字体(Font)为宋体9,设置字符集(Charset)为GB2312_CHARSET
 
跟分辨率也有关系
 
GB2312_CHARSET+FontSize=10就可以了。
 
与所用的字体有关,
800*600小字体当然与800*600大字体显示效果不一样。
 
我也遇到了这样的问题,win98->w2k时字体变小w2k->w98变大,与控件不一致
完全是汉字字体的问题,w2k中font设成宋体字号设成五号等于w98中原来的10磅缺省字体

楼上老兄说的改变字库GB2312_CHARSET+FontSize=10我认为是w2k->w98字体变大的
解决思路
 
其实你只要把FORM的SCALED属性设为FALSE,这样做出的程序就不会因为计算机的
分辨率不同而出现所谓的“怪事”了。
 
其实你只要把FORM的SCALED属性设为FALSE,这样做出的程序就不会因为计算机的
分辨率不同而出现所谓的“怪事”了。
 
把form的font属性中的设置字符集(Charset)由西文改为GB2312_CHARSET就ok了
 
在98下重编一遍,一切ok
 
字符集的问题
 
将View as Text中的Font.Charset改变为GB2312_CHARSET
然后View as Form,一切OK

 
主要是由于Form的PixelsPerInch属性造成的.分辨率不同,PixelsPerInch也会变化.把Scaled属性设为False就可以防止PixelsPerInch随分辨率发生变化,Form也就不会变形了.
 
接受答案了.
 
后退
顶部