Einzelnen Beitrag anzeigen

aaaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#7

Re: MousePosition in dynamischer Klasse

  Alt 10. Aug 2009, 06:21
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.
  Mit Zitat antworten Zitat