Einzelnen Beitrag anzeigen

flashcoder

Registriert seit: 10. Nov 2013
83 Beiträge
 
#1

Wie halte ich ein Formular in einem Bereich eines anderen Formulars?

  Alt 30. Aug 2019, 23:01
Delphi-Version: 10 Seattle
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.
Miniaturansicht angehängter Grafiken
cosex.jpg  

Geändert von flashcoder (30. Aug 2019 um 23:23 Uhr)
  Mit Zitat antworten Zitat