c++builder 界面问题。高手快来,在线等,急!!!!!!!!!!!

kostion 2009-02-27 10:54:30
我用BCB开发的界面,在我自己电脑上调试都很正常,但是拿到别人的电脑上,界面的布局就乱了,按钮,文本框什么的大小都不一样了,怎么办,很急啊,马上就要给客户去演示了。是哪个属性设置的不对吗。我第一次用BCB开发图形界面。
...全文
196 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kostion 2009-02-27
  • 打赏
  • 举报
回复
都是普通屏啊
fairchild811 2009-02-27
  • 打赏
  • 举报
回复
不清楚,是不是宽屏和普屏的问题
kostion 2009-02-27
  • 打赏
  • 举报
回复
在我电脑上,我把分辨率改为800*600 1024*800 ,也都正常啊。。。。。。。但是同事的电脑分辨率改为和我设计时的分辨率一样,同样是乱的,怎么回事啊
kostion 2009-02-27
  • 打赏
  • 举报
回复
现在客户还没决定买不买,现在商务部的人带过去演示,要是因为界面难看,不买了,我可就完啦
yumikoo 2009-02-27
  • 打赏
  • 举报
回复
设计控件在界面布局的时候就要考虑到界面问题的。
你目前如果只是演示的话,那就修改下电脑的分辨率吧
Jim@luckeeinc.com 2009-02-27
  • 打赏
  • 举报
回复
1.按比例调整去计算,不过该方法出来的效果真是不怎么样。因为按比例算出来的东西有和多因素去影响结果,最常见的就是有的值算出来是2.9 有的值算出是3.1如果采用的方法是向零取整那差别就大了;四舍五入也是一样。
2.设置Form的AutoSize = false; Scaled = false; 然后用ScaleBy(Screen-> Width,1024);
这种方法比较好,而且在不同分辨率下能保证画面的正常显示,但是字体就比较难控制了。
3.运行程序的时候改变操作系统的分辨率。比如你的画面在800*600的时候是正常的,先判断当前系统分辨率是不是800*600 如果不是
DEVMODE DevM;
EnumDisplaySettings(0, 0, &DevM);
DevM.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
DevM.dmPelsWidth = 800; 
DevM.dmPelsHeight = 600;
ChangeDisplaySettings(&DevM, 0);



现在这样的情况还是临时改一下客户的分辨率吧 程序回去再改
纯冰糖 2009-02-27
  • 打赏
  • 举报
回复
字体问题:
主窗体字体应该为:宋体,小五,Chinese_GB2312
ydlchina 2009-02-27
  • 打赏
  • 举报
回复
这时因为你们的分辨率不一样
kostion 2009-02-27
  • 打赏
  • 举报
回复
我电脑现在的分辨率是1280 * 1024 ,令一台电脑是1024 * 800的 ,怎么解决这个问题。
gu302 2009-02-27
  • 打赏
  • 举报
回复
这个问题我也遇到过 其实有个很简单的做法 常见的分辨率就2,3个 你可以测试一下 或者在布局上 要计算好
Waiting4you 2009-02-27
  • 打赏
  • 举报
回复
这个应该是DPI设置不同造成的,你看看你的DPI设置和你同事的是不是一样。
一个简单但不保险的方法是设置所有窗体的Scaled属性为false
sdfssdfgflss 2009-02-27
  • 打赏
  • 举报
回复
UP....

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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