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]