Ich habe zwei Formulare ("Form1" und "Form2") und möchte wissen, wie das Form2 im Bereich Form1 bleibt. ohne die Grenzen von Form1 zu überschreiten, wenn es verschoben wird (auch Behandlung mit
WM_WINDOWPOSCHANGING Nachricht)? Ich habe diesen Code, der verhindert, dass ein Formular außerhalb des Bildschirms bleibt. Wie verhindern Sie, dass Sie außerhalb eines anderen Formulars bleiben (Form2 bleibt außerhalb von Form1)?
Delphi-Quellcode:
type
TForm2 = class(TForm)
Button1: TButton;
private
procedure WMMove(var Msg: TWMMove); message WM_MOVE;
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
{ TForm2 }
procedure TForm2.WMMove(var Msg: TWMMove);
begin
if (Left < 0) then
Left := 0;
if (Top < 0) then
Top := 0;
if (Screen.Width - (Left + Width) < 0) then
Left := Screen.Width - Width;
if (Screen.Height - (Top + Height) < 0) then
Top := Screen.Height - Height;
end;
end.