VB分辨率的问题!
我想不少人应该都知道,在Vb中设计一个全屏的工程,是在当前的分辨率下设计的,而在换个分辨率,窗口的布局就全变了!比如我在800*600的分辨率下设计的程序,改成的1024...
我想不少人应该都知道,在Vb中设计一个全屏的工程,是在当前的分辨率下设计的,而在换个分辨率,窗口的布局就全变了!比如我在800*600的分辨率下设计的程序,改成的1024*768 好多控件的大小还是那么大 布局也就变了!我试过 让这个程序一打开就改成1024*768,可退出怎样 才能改回来?应该说我不知道我一开始的分辨率是多少!我想让这个 程序广泛点,拿到哪个机子上都能用哪位高手指导一下?
展开
5个回答
展开全部
除非是全屏的、无窗口的游戏软件,否则一般的软件最好不要在运行时调整屏幕分辨率,这样屏幕会闪动一下,用户体验大打折扣,如果遇到用户显示器不支持的分辨率还有可能造成问题,另外Windows是多任务系统,改变分辨率会影响同时运行的其他软件。我想如果我遇到这样的软件,我会不等它启动完毕就立刻X掉,然后卸载,永不再安装!
此外,让运行环境来适应自己的程序是设计者无能或偷懒的表现,应该让程序去适应运行环境!
要想在不同的分辨率都能使窗体布局保持不变,应该在窗体的ReSize事件中,根据窗体的大小把窗体里的控件按百分比进行调整,比如:
Private Sub Form_Resize()
Dim ww As Single, hh As Single
ww = Me.ScaleWidth 'ww是窗体内用户区域的宽度,是控件调整横向位置和宽度的参照标准
hh = Me.ScaleHeight 'hh是窗体内用户区域的高度,是控件调整纵向位置和高度的参照标准
Text1.Move 0, 0, ww * 0.4, hh 'Text1放到窗体的左半部分,占据40%的面积
Text2.Move ww * 0.4, 0, ww * 0.6, hh 'Text2放到窗体的右半部分,占据60%的面积
'当窗体大小发生变化时,Text1和Text2在窗体的相对位置以及所占地盘比例是不变的
'换句话说,这样做可以使窗体内的控件随着窗体的缩放而等比例缩放,这样布局就不会变了
End Sub
此外,让运行环境来适应自己的程序是设计者无能或偷懒的表现,应该让程序去适应运行环境!
要想在不同的分辨率都能使窗体布局保持不变,应该在窗体的ReSize事件中,根据窗体的大小把窗体里的控件按百分比进行调整,比如:
Private Sub Form_Resize()
Dim ww As Single, hh As Single
ww = Me.ScaleWidth 'ww是窗体内用户区域的宽度,是控件调整横向位置和宽度的参照标准
hh = Me.ScaleHeight 'hh是窗体内用户区域的高度,是控件调整纵向位置和高度的参照标准
Text1.Move 0, 0, ww * 0.4, hh 'Text1放到窗体的左半部分,占据40%的面积
Text2.Move ww * 0.4, 0, ww * 0.6, hh 'Text2放到窗体的右半部分,占据60%的面积
'当窗体大小发生变化时,Text1和Text2在窗体的相对位置以及所占地盘比例是不变的
'换句话说,这样做可以使窗体内的控件随着窗体的缩放而等比例缩放,这样布局就不会变了
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
屏幕分辨率:
screen.width/15
screen.height/15
screen.width/15
screen.height/15
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提问者:匿名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Form_Resize事件中对每个控件的大小按照屏幕大小进行调整如 Text1.Width =检查当前的屏幕分辨率,然后根据分辨率的比例,将各个控件的高度和宽度按比例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试一下先
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询