试试这段代码:这是在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;