有一点你要注意,如果你的windows设置是移动时不显示窗口内容的话,只有移动结束,窗体的位置才会变化,也就是只有放开鼠标你的formA和formB的位置才会变,反之会同时移动
至于移动代码,用下面这段:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
OldPos:tpoint;
procedure WndProc(var Message: TMessage); override;
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses unit1;
{$R *.dfm}
procedure TForm2.WndProc(var Message: TMessage);
begin
case Message.Msg of
wm_move:
if Visible then {防止create的时候乱动}
begin
form1.Left:=form1.Left+left-OldPos.X;
form1.Top:=form1.Top+Top-OldPos.Y;
OldPos.X:=left;
OldPos.Y:=top;
end;
end;
inherited;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
OldPos.X:=left;
OldPos.Y:=top;
end;
end.