如何在Form在缩放的同时,让它上面的控件及字体按一定比例缩放?(100分)

  • 主题发起人 主题发起人 baoling
  • 开始时间 开始时间
B

baoling

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在Form在缩放的同时,让它上面的控件及字体按一定比例缩放?
 
搜索论坛!有类似的
 
来自HubDog的葵花宝典。

假设你在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 :=
(NewFormWidth div OldFormWidth) *
TFooClass(Controls).Font.Size;
end;
 
在《delphi第三方控件大全》里,有讲到一个控件,实现这个功能,一句代码也不用写。
 
delphi.mychangshu.com有个控件,正好.
 
后退
顶部