vb6怎么让程序窗体自适应屏幕大小?是"屏幕大小".多谢!

xinrensheng 2011-11-10 10:42:02
写了个VB6程序,14.1寸显示器上显示窗体正常
到了17寸显示器(我也不知道具体是多少寸,反正是很大的那种屏幕,21寸也有可能)上显示窗体上就不正常了.高度比屏幕小而宽度却比屏幕大了.
怎么让它自动适应不同尺寸的屏幕?是屏幕大小呵,不是分辨率.

搜了下,很多讲分辨率的,可是为什么我的程序好像没这个问题呢?我在自己机子上调不同的分辨率,好像都没关系的啊,好像都能自适应.弄得我有点小困惑了,是不是他们说的是别的什么问题?
谢谢!

...全文
1079 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinrensheng 2011-11-14
  • 打赏
  • 举报
回复
谢谢大侠们,是分辨率的关系.
worldy 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xinrensheng 的回复:]
引用 2 楼 worldy 的回复:
在form_resize事件中,使用screen.Width ,screen.Height 对窗口大小进行调整

Private Sub Form_Resize()
Me.Width = Screen.Width
Me.Height = Screen.Height
End Sub
这个为什么报错说:
实时错误 384
当最大化或最小化时窗体……
[/Quote]

最大化或者最小化的时候,你不需要调整窗口的大小,你可以使用form的windowstate属性进行检测
if windowstate=0 then
width=screen.width
height=screen.height
end if
ningweidong 2011-11-12
  • 打赏
  • 举报
回复
窗口的大小只跟分辨率有关
btxdlibin 2011-11-12
  • 打赏
  • 举报
回复
应该还是分辨率的问题
分辨率的长宽比适应
举个例子:
电脑分辨率:1440*900 也就是8:5
你的程序设计的长宽比为:2:1

我们来看看程序最大尺寸是多少?

那么你的程序按分辨率最大尺寸去适应有两种比例方式:
按长 8 : 4 即1440*720
按宽 10: 5 即1800*900 但是长超过屏幕大小

注:按长:将分辨率1440等分8份 按宽:将宽900等分5分

结论:所以还是程序设计的时候要考虑到本身比例与屏幕分辨率比例适应的问题.
程序超出尺寸本身跟电脑实际大小没有关系,只与分辨有关.

xinrensheng 2011-11-11
  • 打赏
  • 举报
回复
一旦我手工调整窗体到最大化时候就报上面这个错
xinrensheng 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 worldy 的回复:]
在form_resize事件中,使用screen.Width ,screen.Height 对窗口大小进行调整
[/Quote]
Private Sub Form_Resize()
Me.Width = Screen.Width
Me.Height = Screen.Height
End Sub
这个为什么报错说:
实时错误 384
当最大化或最小化时窗体不能移动或调整

呢?
thanks!
txzsp 2011-11-11
  • 打赏
  • 举报
回复
可以计算分辨率来解决。
chinaboyzyq 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xinrensheng 的回复:]

引用 2 楼 worldy 的回复:
在form_resize事件中,使用screen.Width ,screen.Height 对窗口大小进行调整

这样就可以了吗?我一下子手头没机器试.
多谢!!
[/Quote]
并非这么简单,将来还有控件大小的自动适应等。
熊孩子开学喽 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 xinrensheng 的回复:]
vb6怎么让程序窗体自适应屏幕大小?是"屏幕大小".多谢!
[/Quote]

"屏幕大小"这个真没有, 只有分辨率大小.
xinrensheng 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 worldy 的回复:]
在form_resize事件中,使用screen.Width ,screen.Height 对窗口大小进行调整
[/Quote]
这样就可以了吗?我一下子手头没机器试.
多谢!!
worldy 2011-11-10
  • 打赏
  • 举报
回复
在form_resize事件中,使用screen.Width ,screen.Height 对窗口大小进行调整
xinrensheng 2011-11-10
  • 打赏
  • 举报
回复
vb6考虑不周到啊,这种东东显然不用说都是必须必须的啊,盖茨怎么不整合进去呢?
不知道vb.net有没有自动实现这个?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧