[教学]如何让DELPHI 5 程式,在任何解析度下均可执行

Home Home
引用 | 编辑 demon
2003-07-18 12:57
楼主
推文 x0
如何让DELPHI 5 程式,在任何解析度 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 jackysoft
2003-11-02 11:26
1楼
  
假如你在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;

献花 x0