没有自动变化的办法,只能自己写程序响应WM_SIZE消息,然后计算控件的位置和大小,然后MoveWindow等等
解决方案 »
- 问个很简单的问题,函数调用问题
- 删除文件夹为何报错?
- WMP控件和 Speech 控件怎么不能共存?
- 如何在A窗口移动时控制其他窗口移动
- 高高高高高人里面请_三层安全隐患问题!
- 只有30分了,全散掉了。
- 登录窗体无法释放,请各位帮忙看看我的代码???急急
- Delphi的延时函数是什么??????(在线)
- 有和java通用的des加密吗?
- 不使用ClientDataset.applyupdate更新数据,而把Clentdataset.delta作为一个参数传到控制对象的方法updata(data:varient)中为什么只能更新一次
- 用Delphi的工程组(ProjectGroup)时,能在工程组中建立公用变量,供各个子工程共享吗。请告诉我具体实现的方法。
- 非常不错的delphi网站
有没有一个过程或是函数什么的呢?比如说AUTOSIZE?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
Button1: TButton;
SpeedButton1: TSpeedButton;
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FWidth: Integer;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormResize(Sender: TObject);
begin
Self.ScaleBy(Width, FWidth);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
FWidth := Width;
end;end.
begin
ScaleBy(Width, FWidth);
FWidth := Width;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
FWidth := Width;
end;
不管你的控件多少呀
ScaleBy就是按比例缩放
var
I: Integer;
begin
//可是位置不会变
for I := 0 to ControlCount - 1 do
TControl(Controls[I]).Anchors := [akLeft, akTop, akRight, akBottom];
end;
begin
FWidth := Width;
// ~~~~~窗体的宽度 需要赋值吗?
//我的方法并不是完善的
//你要考虑高度变化
end;