如何使原来在 640*480 的屏幕区域下编写的系统 在 800*600下全屏显示?(100分)

  • 主题发起人 主题发起人 bigwu
  • 开始时间 开始时间
B

bigwu

Unregistered / Unconfirmed
GUEST, unregistred user!
; 本人原来在640*480象数的屏幕区域下 写的一个MIS系统,现在在800*600下它只
显示在屏幕的左上角,而在右下角留下约40%的空白区;(LEGEND MONITOR)
请教各位豪侠了!!!
 
这里正好有:

Scaled:=TRUE;
if(Screen.width<> 640)then
ScaleBy(Screen.Width,640);

这样就无所谓什么分辨率了
 
为什么不在FORM的ALIGN中选CLIENT呢?
 
align选client窗体可以将窗体放大,但控件都不变大小,会挤在左上了
 
因为窗体的大小是用象素点计算的,你原来设计的是640×480的
现在在800×600的屏幕上一样只有640×480,而屏幕是800×600
的,这样当然会有空白区,同样的你在800×600下做的程序拿到
640×480下会显得比原来的大得多。
控件可能要靠你自己安比例在程序中自己动态调整了,要不用控件吧
 
但是选择大字体和小字体也是不一样的,请问对字体有没有什么办法?
 
>但是选择大字体和小字体也是不一样的,请问对字体有没有什么办法?
呵呵,这种情况下图形的位置都会变化。
 
有个Active 控件:ActiveSizer.ocx好像可以解决你的问题。
下载地址:http://www.datadynamics.com
 
试一下这样:
对窗体,可以在 create 的时候判断 scrren 的大小,变化其大小,
对控件,Anchors 中有四个字段,
你希望控件左端在窗体上的相对位置不变就把 akLeft 设为 true;
你希望控件右端在窗体上的相对位置不变就把 akRight 设为 true;
上下端请设 akTop 和 akBottom.
这样设了后,窗体 resize 的时候,控件也跟着 resize;
 
; 一试,jian1(及940801)建议正确,谢各位了!
 
多人接受答案了。
 
后退
顶部