如何调整我的vb6程序以使其自动适合任何屏幕分辨率?

时间:2010-07-15 06:27:22

标签: vb6

如何在1280 * 1024中正确打开vb6程序,但切换到其他分辨率为640 * 480时,我只能看到屏幕的一半。如何重新调整我的vb6程序的大小,使其自动适合任何屏幕分辨率?

9 个答案:

答案 0 :(得分:2)

您需要使用屏幕对象,这将始终以像素为单位提供当前分辨率:

Dim screenwidth,screenheight As Single

screenwidth = Screen.Width \ Screen.TwipsPerPixelX
screenheight = Screen.Height \ Screen.TwipsPerPixelY

答案 1 :(得分:0)

通常,适合调整大小的表单具有适合“流程”布局的控件。通常这类似于支持滚动条的TextBox,网格控件等。在为按钮等固定大小的元素分配位置(即移动)后,可以根据需要缩小/增大这些控件。

对于具有大量固定大小控件且不是“面向文档”的繁忙表单,没有设置答案。有时创建一个可滚动的表单是有道理的,但通常不会。

有些人试图调整“固定”元素的大小,更改字体大小等。这可以产生混合质量的结果,有时是好的,有时不是。

有关表单大小的注意事项最好作为设计过程的一部分进行。对于某些应用程序,最好确定最小支持的表单大小。在其他情况下,您可能需要使用对话框表单或选项卡控件来解决问题。

答案 2 :(得分:0)

在VB6中没有简单的方法可以做到这一点,就像在.Net中一样。您必须根据新表单的客户端大小手动调整表单的Resized事件处理程序中的所有内容。这是一个痛苦,一个巨大的混乱,但这是唯一的方法。


更正:从来没有一种方法可以做,但我已经编程VB6好几年了,通常只是将它写入Resize处理程序就足够简单了,我还没有找到任何好的方法来做到这一点除此之外。

答案 3 :(得分:0)

您是否尝试过第三方工具?这是一个似乎有用的(免费的): -

ActiveResize Control Lite - 我创建了一个快速项目来尝试它,它完成了它在锡上的说法!

Lite版本有一些限制,例如项目中的表单数量,表单上的控件数量等。如果您需要更多功能,还可以购买标准版或专业版。

我知道我们花了无数个小时试图实现我们自己的调整大小代码只是为了删除它并修复大多数控件的位置,移动一些以使其看起来更好并限制表单的最小/最大功能 - 没有一个能提供良好的用户体验。如果我们需要再次这样做,我可能会使用这个控件(或类似的控件)来节省时间。

答案 4 :(得分:0)

我使用ComponentOne SizerOne

C1Elastic控件允许调整大小并保持纵横比,在您定义的设置上调整内部控件的大小。

这不是免费的,但是我一直保持着自己付出的代价。

答案 5 :(得分:0)

Form1.Height = Screen.Height
Form1.Width = Screen.Width

此代码根据屏幕分辨率设置表单大小。

答案 6 :(得分:0)

“ActiveResize Control Lite”ActiveX工具每个表单限制为20个控件。

答案 7 :(得分:0)

一旦我们知道屏幕分辨率,您就可以做很多事情。

•最简单的解决方案是设计不同的形式,以适应四种最流行的显示器分辨率 - 640 x 480,800 x 600,1024 x 768和1600 x 1200。

•或者,我们可以根据屏幕分辨率编写动态调整大小并重新定位表单上每个控件的代码 - 这不是一件容易的事情!

•根据屏幕分辨率调整控件大小的第三方控件非常有效。但总的来说,如果可以的话,最好避免这种问题。例如,请参阅在codeguru.com上以Visual Basic(Flexi-Forms)创建灵活表单

答案 8 :(得分:-1)

要自动调整屏幕分辨率,您需要下载一个活动的x,将其拖到您的符合标准上。 搜索“veg gold vb6.0 screen Resize”。