Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Form mit der Maustaste bewegen! (https://www.delphipraxis.net/2848-form-mit-der-maustaste-bewegen.html)

NeoDeluxe 10. Feb 2003 02:55


Form mit der Maustaste bewegen!
 
Moin.
Ich würd gerne wisen wie man Forms mit der rechten Maustaste bewegen kann. Unter bewegen versteh ich die Funtion des Windows Verschieben! Also kann das jemand? :coder:

Luckie 10. Feb 2003 03:08

Delphi-Quellcode:
var
  Form1: TForm1;
  m   : TPoint;
  d   : Boolean = False;

implementation

{$R *.dfm}



procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = (mbRight) then
  begin
    d := True;
    m.x := x;
    m.y := y;
  end;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if not d then Exit;
  Form1.Left := Form1.Left + x - m.x;
  Form1.Top := Form1.Top + y - m.y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  d := False;
end;

NeoDeluxe 10. Feb 2003 03:14

Super :hello: ! Funktioniert Problemlos :mrgreen:

sakura 10. Feb 2003 08:35

Etwas einfacher, schon im Forum Diskutiert:
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = (mbRight) then
  begin
    ReleaseCapture;
    Self.Perform(WM_SYSCOMMAND, SC_MOVE, 0);
  end;
end;
...:cat:...

NeoDeluxe 10. Feb 2003 12:28

Is auch net schlecht. Vielen Dank! :mrgreen:

profiz 4. Jul 2003 18:08

Ich hab beide mal ausprobiert, bei mir funktioniert aber beides nicht. Ich würd sagen das es daran leigt, das ich eine Grafik oben drüber gelegt hab. Da ich keine Symbolleiste haben will. Was muss ich machen, damit auch bei mir geht???

sakura 4. Jul 2003 18:09

Du musst das OnMouseDown der Grafik nutzen ;-)

...:cat:...

profiz 4. Jul 2003 18:19

Danke, funktioniert


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz