![]() |
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: |
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; |
Super :hello: ! Funktioniert Problemlos :mrgreen:
|
Etwas einfacher, schon im Forum Diskutiert:
Delphi-Quellcode:
...:cat:...
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; |
Is auch net schlecht. Vielen Dank! :mrgreen:
|
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???
|
Du musst das OnMouseDown der Grafik nutzen ;-)
...:cat:... |
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