窗口根据分辨率自动适应方法??谢谢了,(100分)

  • 主题发起人 主题发起人 terminal_guo
  • 开始时间 开始时间
T

terminal_guo

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让我的窗口能够根据显示器分辨率自动适应大小,
使用了下面的代码
可是我在1024*768模式下面调好的界面到1280*1024下面去了之后里面的控件位置自动变化
了没什么问题,可是我的窗口好像放大倍数不对了,窗口的比例变大了,
请问有没有比较好的自动适应的方法啊,谢谢了,

Const
Orignwidth = 1024;
Orignheight = 768;

procedure TfrmMain.FormCreate(Sender: TObject);
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);
end;
end;
 
有做过的老大帮忙看看,谢谢了,
 
使用 ScaleBy(M, D: Integer); 及其相关函数

 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1626018
去看看!那里有的例子!
 
就这样就行了,ScaleBy会自己调整宽和高:
if (screen.width <> orignwidth) then
scaleby(screen.width, orignwidth);
 
接受答案了.
 
后退
顶部