两台机器都是1024X768象素,但是控件位置不一样

sincostan 2002-08-26 03:39:55
一台笔记本显示器大小的工控机,另一台17英寸的个人机,都是1024x768设置。在一台机器上布置的控件位置,到另一台机器上错位的没法看了,怎样保留对齐关系??
bcb5.0
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sincostan 2002-08-28
  • 打赏
  • 举报
回复
没来得及上网,揭贴稍晚
woainihaha 2002-08-27
  • 打赏
  • 举报
回复
呵呵,系统设置不同罢了!
可能有一太电脑的DPI为96,而另外的为78而已!
DPI是DotPerInch的简称(应该没错吧,记得不清楚了),和PPI(PixelsPerInch)意义相同,所以你该知道怎么回事了吧?
所以解决把法为把所有窗体和组件的PPI设置成和系统一样即可!

For Example:

Form1->PixelsPerInch=Screen->PixelsPerInch;

for (int i=0;i<Form1->ComponentCount,i++)
{
//在此处应该加入判断PixelsPerInch是否存在,如果存在执行下列语句
Form1->Components[i]->PixelsPerInch=Form1->PixelsPerInch;
}

这应该在程序初始化时处理,代码不尽正确,请自行调试!
jishiping 2002-08-27
  • 打赏
  • 举报
回复
上面也已经有人说了,将所有Form的属性Scaled设成false就没事了。
kingcaiyao 2002-08-27
  • 打赏
  • 举报
回复
Set all Form's Scaled Property to be false
gxhysong 2002-08-26
  • 打赏
  • 举报
回复
跟屏幕显示字体有关系
hdaq 2002-08-26
  • 打赏
  • 举报
回复
有可能你一台机子设的是“大字体”模式,另一个是“小字体”模式,改成一样再试一试。
WhyAndAnswer 2002-08-26
  • 打赏
  • 举报
回复
前面有帖子说是设置所有的 scaled=false就可以了
李志林HZ 2002-08-26
  • 打赏
  • 举报
回复
具体情况是怎样的,控件是自己做的OCX等还是CB里的标准控件?

13,825

社区成员

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

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