delphi中怎么使控件随窗口的放大和缩小动态改变自己的大小

delphi中怎么使控件随窗口的放大和缩小动态改变自己的大小,第1张

给楼主一段代码,可以自动计算窗口大小的变化量,希望会有用吧。

procedure TFStateReopenFormCreate(Sender: TObject);

begin

InitClientHeight:= ClientHeight; //要先在窗体类中声名这些Integer变量

InitClientWidth:= ClientWidth;

CurClientHeight:= ClientHeight;

CurClientWidth:= ClientWidth;

end;

procedure TFStateReopenFormResize(Sender: TObject);

begin

inherited;

//计算可视组件的坐标变化

HeightInc:= ClientHeight - CurClientHeight;

if HeightInc > 0 then

begin

CurClientHeight:= ClientHeight;

end;

if (HeightInc < 0) and (ClientHeight > InitClientHeight) then

begin

CurClientHeight:= ClientHeight;

end;

if (HeightInc <0) and (ClientHeight <= InitClientHeight) then

begin

HeightInc:= InitClientHeight - CurClientHeight;

CurClientHeight:= InitClientHeight;

end;

WidthInc:= ClientWidth - CurClientWidth;

if WidthInc > 0 then

begin

CurClientWidth:= ClientWidth;

end;

你应该在添加控件之前,先在窗体里面添加一些PANEL控件或者groupbox控件,把窗体分割成不同的区,然后在这些区里面再放你需要的控件。这些panel或groupbox可以设置他们的ALIGN属性为ALLEFT,ALRIGHT,Altop,ALCLIENT等等,这样当窗体变化时它们可以自动调节大小,如果效果还不好,可以再在这些panel里面再添加多个panel来进一步分割,以此类推就可以,如果嫌panel的边框不好看,可以把里面panel的bevelouter属性设置为bvNone就可以了。

如果有更高的比例要求,就在窗体的onsize事件里面,设定各种panel的宽度高度就可以了。

大部分人都是在 Align 属性设置的。要实现标准的比例也行(),在窗体的大小改变事件写

比如你的TButton控件要放在窗体的中间。那么就在在窗体的大小改变事件写:

Button1Left := SelfWidth div 2 - Button1Width div 2 ;

Button1Top := SelfHeight div 2 - Button1Height div 2 ;

procedure TForm1FormCreate(Sender: TObject);

begin

//最大限制

ConstraintsMaxHeight := 400;

ConstraintsMaxWidth := 400;

//最小限制

ConstraintsMinHeight := 200;

ConstraintsMinWidth := 200;

end;

或直接修改窗体的这个属性也可以。

delphi 7 编译后有360KB,其余版本没怎么用过,不过XE5编译出来的文件是挺大的~可以通过一定的方法去缩小体积,可以参考>

以上就是关于delphi中怎么使控件随窗口的放大和缩小动态改变自己的大小全部的内容,包括:delphi中怎么使控件随窗口的放大和缩小动态改变自己的大小、delphi 求窗体的最大边框属性的那个函数。、delphi 窗口最大化后控件的大小变化怎么设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9322377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存