![]() |
mehrere Objekte mit perform verschieben
Hi,
ich möchte mir einen kleinen Reportdesigner bauen, auf dem ich unter anderem mehrere Objekte auswählen und verschieben kann. Ich kann schon mehrere Objekte auswählen und einzelne verschieben. Mit mehreren klappts aber noch nicht. Ich hab mit auf einem Testformular mal zwei Buttons hingepackt und wollte die beide verschieben. Mein Versuch:
Delphi-Quellcode:
Da wird aber nur der erste Button verschoben. Kann mir einer helfen??
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin ReleaseCapture; if ssleft in Shift then begin Button1.Perform(WM_SYSCOMMAND,$F012,0); Button2.Perform(WM_SYSCOMMAND,$F012,0); end; end; PS: Ich will am ende nicht nur einfach Button2 um die selbe Differenz wie Button1 verschieben, weil ich ja schon wärend dem Verschieben sehen möchte, wo die Objete landen. Danke schonmal :D |
Re: mehrere Objekte mit perform verschieben
keiner eine Idee??
|
Re: mehrere Objekte mit perform verschieben
mit Perform wirst du da schlechte Chancen haben da Perform erst zurück kehrt wenn das verschieben abgeschlossen ist (wenn ich mich recht entsinne).
|
Re: mehrere Objekte mit perform verschieben
Ich wäre gar nicht auf die Idee gekommen mit der Methode Perform zu versuchen was zu verschieben. Warum änderst du nicht einfach die Top und Left Eigenschaften?
|
Re: mehrere Objekte mit perform verschieben
Perform hat den Vorteil das es durch Verwendung der Systemmessage die Systemeinstellungen zur Anzeige von Fenstern beim verschieben verwendet. Wenn man einfach die Left und Top Koordinaten ändert, ist der Inhalt der Fenster die ganze Zeit sichtbar selbst wenn im System eingestellt ist das nur die Rahmen der Fenster sichtbar sein sollen.
|
Re: mehrere Objekte mit perform verschieben
also Top und Left zu verändern ist mir ehrlichgesagt zu aufwendig, aber wenn es nicht anders geht, dann werde ich wohl nicht drum herum kommen.
Kann mir einer erklären (oder einen Link geben) wie Perform funktioniert, also ob man da irgendwie eingreifen kann um die trotzdem so zu verschieben? Also Top und Left würde ich wirklich nur als letzte Lösung nehmen wollen... |
Re: mehrere Objekte mit perform verschieben
Zitat:
|
Re: mehrere Objekte mit perform verschieben
ich hab übrigens in anderen Foren die selbe Frage gestellt
![]() ![]() Also wenn ich ne entgültige Lösung finde werde ich sie überall nochmal posten :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 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