![]() |
Form verschieben
Hallo
wenn ich den Code in ein neues Projekt teste, funktioniert aber wenn ich den Code in mein Programm teste, dann macht es nicht ! Was muss ich noch überprüfen ?
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); const SC_DRAGMOVE = $F012; begin if Button = mbleft then begin ReleaseCapture; Form1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); end; end; |
Re: Form verschieben
Die if-Abfrage ist unnötig, da du die Form sowieso nur mit der linken Maustaste bewegen kannst.
Delphi-Quellcode:
Gehts so? Ansonsten: Hast du noch etwas anderes im OnMouseDown stehen?
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; Perform(WM_SYSCOMMAND, $F012, 0); end; |
Re: Form verschieben
Besser
Delphi-Quellcode:
Macht es garnichts, was Falches oder kommt ein Fehler?
(Sender as TForm).Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
|
Re: Form verschieben
Komisch. Es erscheint kein Fehler
aber mit dem Code von Fussball-Robby funktioniert :thumb: |
Re: Form verschieben
Ich würde aber trotzdem den Sender auswerten.
|
Re: Form verschieben
Zitat:
|
Re: Form verschieben
Sender ist doch die jeweilige Form. Wenn es mehrere Instanzen gibt oder wenn verschiedene Formen die selbe Methode verwenden, geht es so nicht mehr.
|
Re: Form verschieben
das stimmt nicht. Wenn nichts davor steht, kommt das dem gleich als würde "Self." davor stehen und dann gilt es eben für die entsprechende Instanz.
Und Sender ist nicht zwangsläufig die Form. Hat man Beispielsweise ein Panel auf dem Form und weißt diesem die gleiche Mouse-Down-Methode zu will man ja nicht das Panel verschieben, das Panel auch nicht nach TForm casten sondern man will eben die Forminstanz zu der die Methode gehört verschieben. |
Re: Form verschieben
Wenn die Methode der gleichen Klasse angehört ja.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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