Zitat von
BAMatze:
Hallo @a...10,
Also da ich das in einer Klasse verwendet hab, habe ich das einfach in die property´s (GetxWert, GetyWert <-- Getter für die property) reinprogrammiert, ala:
Delphi-Quellcode:
function TBla.GetXPos: integer;
var p: TPoint;
begin
if binside then
begin
p := ScreenToClient(Mouse.CursorPos);
Result := p.X;
end
else Result := -1;
end;
// ebenso für Y
darin hab ich dann noch ein Event OnxChange/ OnyChange eingebunden, so ersparte ich mir den Timer und reagiere einfach nur in der Oberklasse auf das Event, wenn sich was ändert (finde ich persönlich schöner so). Ist aber persönliche Geschmackssache.
MfG
BAMatze
So weit, so gut, aber diese X- und Y Position muss doch irgendwo in den Tiefen der
VCL ermittelt werden. Und hinzu kommt der Richtungswechsel der Maus. Ich meine, wenn ich zB. mein Hauptfenster der Anwendung mit der Maus nach links verschiebe, die Muastaste gedrückt lasse und mein Fenster sofort wieder ein Stück nach rechts verschiebe. Dann muss sich ja das Vorzeichen der X- und Y Position passend ändern. In der
VCL ist das alles schon eingebaut. Aber Borland/Codegear muss das ja da irgendeinen Algorhitmus verwendet haben. Aus dem
VCL Quelltext werd ich da nicht schlau. Ich meine aber, das das nur miteinem internen Timer zu machen ist.