主题:vb程序界面,用不同分辨率,想让界面和控件都能满屏显示!!!
zkyyp
[专家分:0] 发布于 2008-07-04 16:10:00
我是在1024*768的分辨率下做的界面(刚好满屏),但是分辨率一调.就不能满屏了!!!!
怎么办???
回复列表 (共18个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-07-05 12:10:00
这个好办啊,分辩率改变以后,先算出现分辩率与原分辩率的比例,然后用这个比例数乘以控件的外观数据(left、top、width、hieght)就得出了新的数据,再用move方法重新设置控件。
方法是简单,主要是数据较多。
板凳
bcahzvip [专家分:6040] 发布于 2008-07-06 13:16:00
那么,怎么监视分辩率改变呢?
请别说用线程或窗口定时信息(SetTime)。
3 楼
tanchuhan [专家分:15140] 发布于 2008-07-06 18:03:00
WM_DISPLAYCHANGE
4 楼
bcahzvip [专家分:6040] 发布于 2008-07-06 21:17:00
= =;
唉!~ 想让1楼说出来.
5 楼
莫名其妙 [专家分:90] 发布于 2009-07-04 06:34:00
请大侠举出实际例子加以说明吧!另外,是不是对一个软件的所有模块界面都要逐一如此计算更改呢?
6 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-04 13:55:00
不需要吧?
程序中所有的控件尺寸、位置均设置为“基准”(也就是设定一种默认显示器上正好的尺寸),并且以“缇”为单位(这个与分辨率似乎无关吧?)。
在初次安装时,读取系统关于显示器的信息。计算一个系数。然后生成一个“控件尺寸信息文件”。
每次运行程序在“装载”过程,读取上述文件,用于显示。
7 楼
artless [专家分:1490] 发布于 2009-07-04 14:50:00
[quote]不需要吧?
程序中所有的控件尺寸、位置均设置为“基准”(也就是设定一种默认显示器上正好的尺寸),并且以“缇”为单位(这个与分辨率似乎无关吧?)。
在初次安装时,读取系统关于显示器的信息。计算一个系数。然后生成一个“控件尺寸信息文件”。
每次运行程序在“装载”过程,读取上述文件,用于显示。[/quote]
他们说的好象是,运行中,用户更改了显示分辨率。
8 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-04 22:08:00
那就是疯子。总不能隔几秒钟检测一次分辨率吧?这就成了典型的“没事找事呢”
9 楼
artless [专家分:1490] 发布于 2009-07-06 01:08:00
[quote]那就是疯子。总不能隔几秒钟检测一次分辨率吧?这就成了典型的“没事找事呢”[/quote]
没有作不到,只有想不到。这是大家的信念。疯子就疯子,只要敢想,机子够快。
10 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-06 12:30:00
也许我们可以研究,windows重新设定分辨率会引发什么事件?
唉,我也糊涂了啊。
是不是缇与分辨率无关呢?我记得是这样的啊!
那我们又要研究,如果更换显示器,而没有重装应用程序,又怎么办?
我来回复