发信人: mingle_qin(终极战神)
整理人: winsy(2003-03-05 16:36:03), 站内信件
|
【 在 xxc888 的大作中提到:】
:我想知道如何使得程序的界面随安装机器不同的显示器尺寸而保证我程序的界面能全部显示
:......
哈哈哈,如果在VB.NET中,这有现成的设置,但在VB5和VB6中,你要动态显示啦.具体做法如下.
先在某一分辨率下将整个表单布局完成,就像你平时做表单的一样,当所有工作做完后,只要加入一函数就行啦.该函数放在Resize 事件中.函数流程如下:
X=800
Y=600 '我假设你的表单是在800*600中完成的,如果是其它分辨率,则改改就行。
取得现在计算机的实际分辨率。
cX=640
cY=480 '假设当前机器的分辨率是640*480 至于如何取得分辨率,可用API函数
lX=cX/X
lY=cY/Y '取其两不同分辨率的比率
'遍历所有控件
for i=0 to form1.count-1 '设表单名为form1
Form1.Controls(i).Width= Form1.Controls(i).Width*lX
Form1.Controls(i).Height= Form1.Controls(i).Height*lY
Form1.Controls(i).top= Form1.Controls(i).top*lY
Form1.Controls(i).left= Form1.Controls(i).left*lX
next
这就行啦,原理其本上是这样,以前曾经做过,但代码没了,现在这是即编的,有些语句有什么错误你改改就行啦。
|
|