想设计一个自动适应屏幕大小得窗体 ( 积分: 50 )

  • 主题发起人 主题发起人 jinghj
  • 开始时间 开始时间
J

jinghj

Unregistered / Unconfirmed
GUEST, unregistred user!
1024x768得分辨率,有的机器由于使用任务栏隐藏有的不用,导致不隐藏任务栏的机器看不到窗体的最下边部分,这个怎么解决啊
 
1024x768得分辨率,有的机器由于使用任务栏隐藏有的不用,导致不隐藏任务栏的机器看不到窗体的最下边部分,这个怎么解决啊
 
设置form.align=alclient, z状态栏竟然不到最低部
 
试试这段代码:这是在800*600下设计,如果要在1024*168下,则把里面相应的800换成1024,600换成768
procedure TFormmain.FormCreate(Sender: TObject);
var
FWidth:integer;
begin

begin
if(Screen.width<>800)then
begin
FWidth:=Width;
Scaled:=TRUE;
Font.Size:=(Width DIV FWidth)*Font.Size;//字体大小调整

ScaleBy(Screen.Width,800)
//控件大小调整

Height:=longint(Height)*longint(Screen.Height)DIV 600;
Width:=longint(Width)*longint(Screen.Width)DIV 800;//窗口大小调整
end;
end;

end;
 
不是这个意思啊,我是想让程序适应任务栏隐藏或者不隐藏的情况
 
知道叻,使用screen.WorkAreaHeight就行了
 
能不能在隐藏的分辨率下设计,然后屏幕大小把上面的数值改为1024,768
你不隐藏后控件会自适应。
 
教你一个办法。不过如果到对按钮的字体再进行处理。还得比较麻烦,基实也就是在FORM中搜索所有的CONTROL再进行处理。
const
Orignwidth =1024;
Orignheight =798;
begin
scaled:=true;
if (screen.width<>Orignwidth) then
begin
height:=longint(height)*longint
(screen.height)div Orignheight;
width:=longint(width)*longint
(screen.width)div Orignwidth;
scaleby(screen.width,Orignwidth);//主要是这个自动适应分BAIN率。
end;
end;
 
我们现在都不管这个,都是在1024*768下的,客户的机器设置需要按我们的要求来设置[:D]

就你的情况而言可以自己在程序里隐藏任务栏啊,干脆不要让它出来了,
 
getsystemmetric 可以得到很多信息 如屏幕大小, 状态栏大小等
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部