hi,
folgendes Problem
Beispiel)
Delphi-Quellcode:
procedure TForm1.Panel4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var p:TPoint;
begin
if (ssright in Shift) then //schreibe ich hier "ssleft in Shift", dann bekomme ich die Koordinaten auch dann aktualisiert, wenn ich ausserhalb des Panels bin. Bei ssright in Shift stoppt die Aktualisierung an den Panelgrenzen.
begin
GetCursorPos(P);
panel3.Caption:=inttostr(p.x)+' '+inttostr(p.y);
end;
end;
also wie im Kommentar erklärt verhält sich die OnMouseMove Geschichte anders, wenn ich die linke Maustaste drücke als wenn ich die rechte drücke... das Verhalten bei gedrückter linker maustaste gefällt mir besser und so hätte ich es auch gern wenn ich die rechte gedrückt halte.
ich könnte das jetzt zwar über einen timer umgehen (denke ich) aber wollte fragen ob es auch eleganter geht.
Ideal wäre schlicht ein bildschirmweites OnMouseMove, das ich durch ein onmousedown im panel aktiviere. Bei der Suche habe ich nichts passendes entdeckt.
Danke schonmal