![]() |
Panel und MouseMove
Hallo Leute, Ich habe ein Panel mit darauf ein TImage komponente, und andere elemente .
Mit dem OnMouseMove ereignis von TPanel (TLokPanel) kann ich das Panel verschieben. procedure TLokPanel.MouseMove(Shift: TShiftState; X, Y: Integer); Begin if ssLeft in Shift then begin ReleaseCapture; Perform(WM_SYSCOMMAND,$F012,0); end; End; Jetzt kommt meine Frage. Ich habe auf demPanel ein Bild in einem TImage. Wie kan ich das Panel verschieben wenn ich die mouse auf dem Image verschiebe. Ausserhalb des Bildes (TImage ) bleibt nicht mehr viel Platz um mit der Mouse zu klicken. TImage wird während der Laufzeit beim erstellen von TPanel erstellt. Procedure TLokPanel.Create(Owner: TComponent); Begin inherited Create(Owner); //LokImage LokImage:=TImage.create(Self); LokImage.Parent:=Self; LokImage.Top:= SpeedLabel.Top+ SpeedLabel.Height + 3; LokImage.Left := Scrollbar.Left + Scrollbar.Width + 5 ; LokImage.Height:= 100; LokImage.Width:= Width-Scrollbar.Width - 10; LokImage.Proportional:=True; End; Ich musste jetzt eine Mousemove procedur in LokImage einfugen, die das Mousemove ereignis von TLokPanel aufruft. Habe es versucht mit eine Procedure MyLokImageMouseMove also LokImage.OnMouseMove := MyLokImageMouseMove und in MyLokImageMouseMove dann Parent.MouseMove; aber dann fehlen mir die parameter von mousemove. (Shift: TShiftState; X, Y: Integer) Ich hoffe ihr könnt mir weiter helfen. Johnny Info : Ich programiere gerade ein Program um Modelleisenbahnen digital zu steuern. ![]() |
Re: Panel und MouseMove
Kenne mich mit Win32 nicht aus, aber du müsstest die PanelPosition auf die Panelposition+X bzw.Y Wert der Maus auf dem Image setzen. Klappt bei mir auch ganz gut, hatte das Problem, das ich ein Shape verschieben will, wenn ich auf dem Shape und wenn ich auf dem Formular bin:
Delphi-Quellcode:
Bei mir hats geklappt, musst du halt noch umformen...
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin Shape1.Left:=Shape1.Left+X; Shape1.Top:=Shape1.Top+X; end; |
Re: Panel und MouseMove
Werde es nachher mal ausprobieren.
Danke erstmal |
Re: Panel und MouseMove
Zitat:
Dann gib die doch einfach weiter... MyLokImageMouseMove(X und Y Wert...) Edit: Keine Ahnung, ob es das gibt: Du kannst DragMode auf dmAutomatic stellen und DragKind auf dkDock. Sowohl beim Formular, als auch beim Image... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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 by Thomas Breitkreuz