AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Panel und MouseMove

Ein Thema von js747a · begonnen am 20. Okt 2009 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
js747a

Registriert seit: 11. Aug 2008
Ort: Nord hessen
43 Beiträge
 
Delphi 7 Enterprise
 
#1

Panel und MouseMove

  Alt 20. Okt 2009, 15:10
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.
http://schiffmodellbau.sc.funpic.de/info/software.html[delphi]
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Panel und MouseMove

  Alt 20. Okt 2009, 15:17
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:
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
     Shape1.Left:=Shape1.Left+X;
     Shape1.Top:=Shape1.Top+X;
end;
Bei mir hats geklappt, musst du halt noch umformen...
  Mit Zitat antworten Zitat
js747a

Registriert seit: 11. Aug 2008
Ort: Nord hessen
43 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Panel und MouseMove

  Alt 20. Okt 2009, 15:19
Werde es nachher mal ausprobieren.
Danke erstmal
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Panel und MouseMove

  Alt 20. Okt 2009, 15:22
Zitat von js747a:
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.
http://schiffmodellbau.sc.funpic.de/info/software.html[delphi]


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...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz