在Win2000中编译的程序,为什么到了Win98就不能正常显示?

wsansan 2002-07-04 10:34:58
在Win2000中编译的程序,为什么到了Win98就不能正常显示?


在Win2000中用BCB写的程序,生成EXE文件后,在Win98就不能正常显示,比如TLabel和TEdit的位置都是排列位置原来都是非常美观和整齐的,在98中的位置和比例都变了,有谁遇到过这个问题?
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2002-07-04
  • 打赏
  • 举报
回复
1. 在制作Form时,将Form的属性Scaled设成false就可以了。
这种情况很单纯,无论在哪台机器上,程序总是使用设计时的字体大小。
在分辨率比较高的显示器上,字体会显得比较小。这时可以用函数ScaleBy
来实现缩放。如,你在设计Form时,你机器的分辨率为800*600,那么在Form
里这样写:ScaleBy(Monitor->Width, 800); 就可以达到自动适应各种分辨
率了。而且,这样可以很灵活,可以在程序里任意指定缩放的比例。

2. 在制作Form时,将Form的属性Scaled设成true,但是AutoScroll设成false。
这样情况,不需要任何代码,程序能够根据用户在Windows里指定的字体
大小,来自动适应。你自己可以改变显示卡的分辨率,和Windows的字体大
小(指的是小字体,还是大字体),就可以看到Form是如何自动适应的。
jishiping 2002-07-04
  • 打赏
  • 举报
回复
1. 在制作Form时,将Form的属性Scaled设成false就可以了。
这种情况很单纯,无论在哪台机器上,程序总是使用设计时的字体大小。
在分辨率比较高的显示器上,字体会显得比较小。这时可以用函数ScaleBy
来实现缩放。如,你在设计Form时,你机器的分辨率为800*600,那么在Form
里这样写:ScaleBy(Monitor->Width, 800); 就可以达到自动适应各种分辨
率了。而且,这样可以很灵活,可以在程序里任意指定缩放的比例。

2. 在制作Form时,将Form的属性Scaled设成true,但是AutoScroll设成false。
这样情况,不需要任何代码,程序能够根据用户在Windows里指定的字体
大小,来自动适应。你自己可以改变显示卡的分辨率,和Windows的字体大
小(指的是小字体,还是大字体),就可以看到Form是如何自动适应的。
sncel 2002-07-04
  • 打赏
  • 举报
回复
改宋体及字符集没有用的,你用Tahoma字体,字号小五,就可以了。
wsansan 2002-07-04
  • 打赏
  • 举报
回复
改字体好象不起作用,我用的是宋体五号字,字符集为GB-2312,还是老问题。
hbxtx 2002-07-04
  • 打赏
  • 举报
回复
我也遇到过,后来我就没用Win98啦。
解决的方法好像是要把窗体及控件的字体改为宋体字即可,你试一试
sinmin 2002-07-04
  • 打赏
  • 举报
回复
解决方法:

将FONT 的字体改为中文字体, 如宋体
将字符集改为GB-2312
重新编译, OK

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧