软件显示问题

Gop*_*pal 0 vb6 screen-resolution resolution-independence

使用VB6

我的默认软件显示设置为"800 x 600"

客户端具有不同的显示设置,如"800 x 600","1366 x 768","1280 x 768"

使用超过"800 x 600"显示设置的软件的客户端软件未配备全屏.软件显示75%的显示器尺寸宽度.

当我根据显示器手动调整软件大小时,图像显示非常大.

如何根据显示器的显示尺寸全屏显示软件.

需要代码帮助

Cod*_*ray 5

简单的选项是允许用户最大化您的表单,这将使其填满整个屏幕,无论他们的计算机当前的分辨率设置如何.

这种方法的唯一问题是它不会拉伸/调整窗体上的控件以匹配其新大小.布局看起来和以前一样,但是现在它将被塞进左上角,在它的右下方有一大片空的空间.因此,只要表单本身改变大小,诀窍就是动态调整表单上的控件.

不幸的是,VB 6没有任何内置支持.您别无选择,只能编写代码来自行调整所有控件的大小.最好的地方是你的表格Resize活动.您可以通过检查其确定窗体的当前大小ScaleWidthScaleHeight性质.您的每一个控件的揭露类似Width,并Height可以使用属性设置它们的大小,相对于它们的容器形状的大小.您需要设计一些基本的数学逻辑来确定尺寸.一个快速的谷歌搜索应该出现几个其他人如何做到这一点的例子,但没有可用的闪亮模型.

可以在Microsoft Outlook等电子邮件程序中找到一个示例.你可能有一个TreeView占据表格高度的100%,但只占其宽度的50%; a ListView占表格高度的50%,宽度的50%; 并且TextBox位于其下方占据了表格高度的50%和宽度的50%.这将产生类似于下图所示的流畅布局:

--------------------------------
|              |               |
|              |               |
|              |   ListView    |
|              |               |
|              |               |
|   TreeView   |---------------|
|              |               |
|              |               |
|              |    TextBox    |
|              |               |
|              |               |
--------------------------------
Run Code Online (Sandbox Code Playgroud)