![]() |
TImage verschieben?
Wie könnte man zur Laufzeit die Image-Kompo verschieben?
Dieser Code funkioniert bei Button und Co, nicht bei der Image-Kompo:
Delphi-Quellcode:
Im MouseDown-Event von Image1, habe ich die Procedur vom MouseDown-Event des Buttons zu stehen.
procedure TCover.Button2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin TWincontrol(sender).perform(WM_LBUTTONUP, 0, 0); TWincontrol(sender).Perform(WM_SysCommand,SC_MOVE+2,2); end; |
Re: TImage verschieben?
Wahrscheinlich hast du es mit deinem Typ-Casten in Richtung TWinControl schon richtig angedeutet: Nötig für diese Methode könnte gut immer mindestens ein TWinControl sein. Eine Image-Kompo ist aber nur ein TGraphicControl. In der OH heißt es diesbezüglich z.B.: "...da Lightweight-Steuerelemente keine Windows-Bildschirmobjekte kapseln,...", ...was wohl also heißt, dass ein TImage kein typisches Bildschirmobjekt ist und demzufolge auch nicht auf eine solche Weise verschoben werden kann.
Ergo wird dir wahrscheinlich nichts anderes übrig bleiben, als im Image1MouseDown die zu diesem Zeitpunkt aktuellen X/Y-Koordinaten der Maus extra festzuhalten, sowie auch die Left/Top-Koordinaten des Image selbst. Anschließend kannst du dann bei jedem folgenden Image1MouseMove-Visit die Differenz zu diesen anfänglichen Maus-Koordinaten in eine dementsprechende Positionsänderung des Image (=Image1.Left/Top-Änderung) umzusetzen. |
Re: TImage verschieben?
Und genauso habe ich es mittlerweile gelößt. Jeweils einen Butten der beim MouseDown-Event einen Timer anspicht und dessen Timerereignis eine Left/Top - Verschiebung vornimmt.
MouseUp-Event setzt den Timer wieder auf False.(Nur zur Ergänzung) Gleiches habe ich mit der Größenänderung von Image erreicht. (Hier wiederum: Heigth/Width) Trotzdem gut recherchiert. Auf das selbe Ergebnis bin ich jetzt auch gekommen. |
Re: TImage verschieben?
|
Re: TImage verschieben?
Natürlich noch besser. Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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