回 帖 发 新 帖 刷新版面

主题:vb程序界面,用不同分辨率,想让界面和控件都能满屏显示!!!

我是在1024*768的分辨率下做的界面(刚好满屏),但是分辨率一调.就不能满屏了!!!!
怎么办???

回复列表 (共18个回复)

沙发

这个好办啊,分辩率改变以后,先算出现分辩率与原分辩率的比例,然后用这个比例数乘以控件的外观数据(left、top、width、hieght)就得出了新的数据,再用move方法重新设置控件。
方法是简单,主要是数据较多。

板凳

那么,怎么监视分辩率改变呢?
请别说用线程或窗口定时信息(SetTime)。

3 楼

WM_DISPLAYCHANGE

4 楼

= =;
唉!~ 想让1楼说出来.

5 楼


请大侠举出实际例子加以说明吧!另外,是不是对一个软件的所有模块界面都要逐一如此计算更改呢?

6 楼

不需要吧?
程序中所有的控件尺寸、位置均设置为“基准”(也就是设定一种默认显示器上正好的尺寸),并且以“缇”为单位(这个与分辨率似乎无关吧?)。
在初次安装时,读取系统关于显示器的信息。计算一个系数。然后生成一个“控件尺寸信息文件”。
每次运行程序在“装载”过程,读取上述文件,用于显示。

7 楼

[quote]不需要吧?
程序中所有的控件尺寸、位置均设置为“基准”(也就是设定一种默认显示器上正好的尺寸),并且以“缇”为单位(这个与分辨率似乎无关吧?)。
在初次安装时,读取系统关于显示器的信息。计算一个系数。然后生成一个“控件尺寸信息文件”。
每次运行程序在“装载”过程,读取上述文件,用于显示。[/quote]
他们说的好象是,运行中,用户更改了显示分辨率。

8 楼

那就是疯子。总不能隔几秒钟检测一次分辨率吧?这就成了典型的“没事找事呢”

9 楼

[quote]那就是疯子。总不能隔几秒钟检测一次分辨率吧?这就成了典型的“没事找事呢”[/quote]
没有作不到,只有想不到。这是大家的信念。疯子就疯子,只要敢想,机子够快。

10 楼

也许我们可以研究,windows重新设定分辨率会引发什么事件?


唉,我也糊涂了啊。
是不是缇与分辨率无关呢?我记得是这样的啊!

那我们又要研究,如果更换显示器,而没有重装应用程序,又怎么办?

我来回复

您尚未登录,请登录后再回复。点此登录或注册