同步窗体移动 FormMove
方法2

unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
procedure FormShow(Sender: TObject);
private
procedure WMMOVE(var Msg: TMessage); message WM_MOVE;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Visible := true;
end;
procedure TForm1.WMMOVE(var Msg: TMessage);
begin
inherited;
try
Form2.Parent:=Panel1;
Form2.Left:=0;
Form2.Top:=0;
Form2.Align:=alClient;
except
end;
end;
end.
方法1

private
procedure WMMOVE(var Msg: TMessage); message WM_MOVE;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.WMMOVE(var Msg: TMessage);
begin
inherited;
try
form2.Width := Panel1.Width;
form2.Height := Panel1.Height;
form2.left := Form1.left + Panel1.Left;
form2.Top := Form1.Top + Panel1.Top;
except
end;
end;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步