如何使控件与表单同比例放大或缩小(100分)

  • 主题发起人 funlove_1975
  • 开始时间
F

funlove_1975

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在程序运时点击“最大化”使程序中的控件也相应按比例放大?
 
使用procedure ScaleBy(M, D: Integer)这个过程来对可视控件进行大小调节(此过程不调节窗口大小,也不变动控件的left和top,对控件的大小按M/D比例来调节),具体如下:
procedure TForm1.FormCreate(Sender: TObject);
//假设原来的设计环境为800x600
var
FWidth:integer;
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;

用此种方法比较实用,而且使用比较简单,基本能适应大多数环境。
 
噢?马上试验!不知这样能不能调节设计时不是最大化表单,在程序使用时点击最大化的表单?
 
好像有个属性可以设置
 
不要这么复杂把
多用几个panel就行了
 
那个S什么属性在表单中是没有用的比如在设计时你的表单大小是400*500 那么当你点最大化时表音变成了800*600 而这时表单上的控件是不改变的, 这是我最初的要求,
但现在我基本想通了, 那样的设置也没有太大的实际作用, 不过一楼的想法倒是有用的, 我当时没想到。 三楼的也没试过, 马上试!
 
试验过了二楼三楼的做法均不能实现……
 
接受答案了.
 
顶部