程序不同分辨率情况下的显示问题

时间:2021-05-21 10:57:31
我在1024*768下做的程序,在800*600下窗体下运行,窗体和窗体中的控件会显得很大,应该怎么处理一下,和在1024*768下的比率一样.

10 个解决方案

#1


可以在form resize,form load中加
也可以判断分辩率后选择相应的大小设置语句.
K X Y 都是常数.
with 控件
    .width=me.width*K
    .height=me.height*K
    .left=me.left+X
    .top=me.top+Y
end with

#2


>我在1024*768下做的程序,在800*600下窗体下运行,窗体和窗体中的控件会显得很大,应该怎么处理一
>下,和在1024*768下的比率一样.

你是不是把最佳分辨率为1024*768的显示器分辨率设置成了800*600?这样的确会导致窗体显示变大,但是如果你采用调整控件大小的方法后(例如楼上提供的方法),显示质量会很糟糕,我认为这是得不偿失的行为。

#3


要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用

#4


要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用
--------------------这样是否等于工作量增加一倍呀?

#5


做两个界面的方案,把两个界面的属性保存到文件或其它地方,程序打开前先判断屏幕分辨率,根据条件提取相应的数据

#6


该回复被版主删除

#7


支持libralibra(食食物者为俊杰: U don't try, U don't know) 和sxycgxj() 提供的
方法。

#8


那么怎么先判断出机器的分辨率呢?

#9


'获得分辩率
Private Sub Command1_Click()
Dim x, y
x = Screen.Width \ Screen.TwipsPerPixelX
y = Screen.Height \ Screen.TwipsPerPixelY

MsgBox x & "X" & y 
End Sub

to  libralibra(食食物者为俊杰: U don't try, U don't know) 
要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用
---------------
这样你的麻烦大了,你知道有几中分辨率?
我现在写的程序有100多个窗体

#10


up

#1


可以在form resize,form load中加
也可以判断分辩率后选择相应的大小设置语句.
K X Y 都是常数.
with 控件
    .width=me.width*K
    .height=me.height*K
    .left=me.left+X
    .top=me.top+Y
end with

#2


>我在1024*768下做的程序,在800*600下窗体下运行,窗体和窗体中的控件会显得很大,应该怎么处理一
>下,和在1024*768下的比率一样.

你是不是把最佳分辨率为1024*768的显示器分辨率设置成了800*600?这样的确会导致窗体显示变大,但是如果你采用调整控件大小的方法后(例如楼上提供的方法),显示质量会很糟糕,我认为这是得不偿失的行为。

#3


要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用

#4


要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用
--------------------这样是否等于工作量增加一倍呀?

#5


做两个界面的方案,把两个界面的属性保存到文件或其它地方,程序打开前先判断屏幕分辨率,根据条件提取相应的数据

#6


该回复被版主删除

#7


支持libralibra(食食物者为俊杰: U don't try, U don't know) 和sxycgxj() 提供的
方法。

#8


那么怎么先判断出机器的分辨率呢?

#9


'获得分辩率
Private Sub Command1_Click()
Dim x, y
x = Screen.Width \ Screen.TwipsPerPixelX
y = Screen.Height \ Screen.TwipsPerPixelY

MsgBox x & "X" & y 
End Sub

to  libralibra(食食物者为俊杰: U don't try, U don't know) 
要么就做2个界面,模块里面判断一下屏幕分辨率,分别调用
---------------
这样你的麻烦大了,你知道有几中分辨率?
我现在写的程序有100多个窗体

#10


up