| jackysoft 
         
  
 | 分享:        ▲         
 
 假如你在800*600的分辨率下的form,第一步:
inplementation
 const
 ScreenWidth: LongInt = 800; {I designed my form in 800x600 mode.}
 ScreenHeight: LongInt = 600;
 
 {$R *.DFM}
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 scaled := true;
 if (screen.width <> ScreenWidth) then
 begin
 height := longint(height) * longint(screen.height) div ScreenHeight;
 width := longint(width) * longint(screen.width) div ScreenWidth;
 scaleBy(screen.width, ScreenWidth);
 end;
 end;
 
 下一步,要每个子控制的字体改变到合适的大小:
 type
 TFooClass = class(TControl); { needed to get at protected }
 { font property }
 
 var
 i: integer;
 begin
 for i := ControlCount - 1 downto 0 do
 TFooClass(Controls).Font.Size ]).Font.Size;
 end;
 
 |