社区
控件与界面
帖子详情
字体、分辨率与界面
stn
2002-01-04 02:51:59
我用c++builder做界面,在98/2000不同字体和不同分辨率下运行,界面会变的很乱,怎么办?
...全文
223
23
打赏
收藏
字体、分辨率与界面
我用c++builder做界面,在98/2000不同字体和不同分辨率下运行,界面会变的很乱,怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
drason
2002-10-05
打赏
举报
回复
marked
fenglingdu
2002-01-19
打赏
举报
回复
学习。。。
child_bj
2002-01-09
打赏
举报
回复
长知识~~~~
ppkk
2002-01-09
打赏
举报
回复
to: child_bj:
缺省条件下(Form scaled为rue).根本不用你调整,bcb自动完成你的所谓比值调整。
(将AUTOSCOLLY设为false,窗口自动变大或变小,控件位置也自动调整。但如果你忘记将autoscoll设为false,则从96==>>120时,由于控件width变大(点阵),Form放不下时自动加入scoll,即在另一机器上,令你只能看到部分
控件,这样的界面也太令人。。。
总之,最好的办法是将Form的Scaled设为false.
child_bj
2002-01-09
打赏
举报
回复
在所有控件的位置为最好的时候算出控件位置坐标跟总坐标的比值,然后当窗体大小改变的时候总是根据这个比值调整它的位置。------这个是我的思路。
ppkk
2002-01-09
打赏
举报
回复
补充一点:对于同一显示系统,无论你将其设成1024*768或800*600
其PixelsPerInch是一样的。
stn
2002-01-09
打赏
举报
回复
ppkk说得完全正确
hcw_peter
2002-01-08
打赏
举报
回复
有經驗就是有經驗啊!佩服
ppkk
2002-01-08
打赏
举报
回复
另:虽然bcb的书已非常多,这个如此重要的问题,居然还未有一本书将这个问题提到!
(那怕只是提醒将Form的Scaled设为false.),更不用说将这些问题解说清楚!
ppkk
2002-01-08
打赏
举报
回复
另:获取PixelsPerInch的API为:
int GetDeviceCaps(hdc,LOGPIXELSY)
ppkk
2002-01-08
打赏
举报
回复
关于这个问题,以前的很多贴子多是错误的.(以前很多人认为是字
符集的问题,建义设成宋体9号就可解决,根本不是这么回事!
在不同环境下,窗口大小及控件的位置会发生变化,其关键原因
是两个环境下的PixelsPerInch(每逻辑Inch的象素)的不同,你可
以观察两个环境下同一个Form PixelsPerInch(很可能一个是96,而另一个是120
或其它,如果都是96则不会发生这种情况,如果你的桌面是小字体,则是96,若是
大字体则是120,如果是自定义字体,则是其它.窗口大小正是根据其现有环境与
设计时的环境进行缩放(120/96),为了消除这样的影响,正象RapTor所说,将
Form的Scaled属性设为FALSE,则可以彻底解决问题!但Bcb的缺省却是True,
所以一定要记隹,设计任何Form,最好将其Scaled设为false,否则,
你的程序在你的环境下自我感觉良好,在其他人的机器上运行则不堪入目,
(很可能控件位置重迭)。
9号字是指其磅值(9*1/72英寸),在不同环境下(PixelsPerInch)其点阵大小并不相同
点阵大小Height=-size(磅值)*PixelsPerInch/72,所以"9"号字并不能解决任何问题。
以前很多关于字体的问题,都没人用这个公式来正确解释.
小结:
将Form的Scaled设为false,则控件的字体点阵大小永远不变,Form中的控件大小
也不变,窗口大小也不变(但若PixelsPerInch不同,字体磅值发生变化(但我们真正
关心的点阵大小未变!磅值只能代表视角上的大小).
localmaple
2002-01-08
打赏
举报
回复
如果在桌面属性中将屏幕字体设置为大字体,原来的字就显示有问题了!!
请问大家这个该如何解决呀!!
Tone_zrt
2002-01-08
打赏
举报
回复
这个问题简单。
设置所有Form的Font属性为:宋体,9号,字符集:GB2312,编译一下就搞定了!
绝对没有问题,特别是字符集的设定!
gloom
2002-01-08
打赏
举报
回复
怎么设置字符集啊?
stn
2002-01-08
打赏
举报
回复
那,想做好真是难呀
781014
2002-01-08
打赏
举报
回复
学习
我来看看CB
2002-01-07
打赏
举报
回复
定义Form及所有控件的字体为宋体五号字,字符集选择中文,不要用西文。
还要注意屏幕外观要为标准的。字体显示为小字体。
不过,就是这样,2000和98下的显示还不完全一样,一般98下显示的大一些。
stn
2002-01-07
打赏
举报
回复
to all above:
不行呀,我还要在不同分辨率也能保持界面
我的98和2000,分辨率相同(1024*768),字体也相同(小字体),程序也相同(在2000下做)
分别在98和2000下运行起来,却不一样,不知道为什么?
VSaber
2002-01-04
打赏
举报
回复
最重要的是把字符集设置为gb2312,然后再设置字体为某种中文字体就ok了!
dycdyc123
2002-01-04
打赏
举报
回复
在OnSize里限定位置!
加载更多回复(3)
QT 窗体、控件、
字体
自适应
分辨率
一个小小的实验,按
分辨率
缩放比例调整窗体、控件、
字体
大小。
C#控件大小(及
字体
)随窗口改变自动缩放
C#,控件大小、
字体
随
界面
大小变化、
分辨率
变化而自动调整。
Delphi实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题。
亲测通过 实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题
对话框及其全部控件自动适应屏幕分辩率变化
我们编软件经常会遇到这样情况,尤其是基于对话框的软件,用户屏幕分辩率一变,我们软件的
界面
就变得不好看了。怎么办? 基本原理:先保存对话框原始宽高,检测新的桌面大小,将对话框改成和桌面大小一样,再遍历...
QT
界面
字体
自适应不同
分辨率
qt
界面
字体
自适应不同的
分辨率
控件与界面
604
社区成员
12,293
社区内容
发帖
与我相关
我的任务
控件与界面
PowerBuilder 控件与界面
复制链接
扫一扫
分享
社区描述
PowerBuilder 控件与界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章