Thema: Delphi Nochmal onMouseMove ???

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Nochmal onMouseMove ???

  Alt 23. Okt 2003, 08:58
Zitat von schniede:
....Nun muste mir nur noch verraten ob du das aus dem Ärmel geschüttelt hast oder ob das nicht alles auf dein mist gewachsen ist.
Ehre wem Ehre gebürt! Ich habe das auf Grundlage von Christans Code aus diesem Thread gemacht.

Zitat:
Wie gesagt hast mir ja schon öfter geholfen, find ich echt Klasse HUT AB.
Dafür ist das Forum doch da. Damit jeder jedem hilft.

Zitat:
Was meinst du den eigentlich was man so an Lektüre verzehren sollte? Aus der Hilfe werd ich immer nicht ganz so schlau wenn ich ein fertigen code seh, dann versteh ich das schon besser.
Ich muss gestehen ich habe noch kein eiziges Buch über Delphi gelesen. Alles was ich weiss habe ich:

a) Aus der OnlineHilfe
b) Aus diesem Forum
c) Durch ausprobieren

Zitat:
P:S: Hatte ganz vergessen ,weißt du warum das andere nicht so gut läuft,ist die Rechenzeit zu hoch,
die maus zu schnell, oder OnMouseMove eh ungeeignet.
Naja, das OnMouseMove wird halt immer aufgerufen sobald Du die Maus bewegst.

Der Code ist eigentlich ganz einfach zu verstehen.

Delphi-Quellcode:
procedure TForm1.CMMouseEnter(var Message: TMessage);
var
  ptWork : TPoint;
begin
  GetCursorPos(ptWork);
  if (WindowFromPoint(ptWork) = BitBtn1.Handle) then BitBtn1.Font.Color := clred;
end;
Sobald der Cursor über einem Objekt ist wird diese Procedure aufgerufen.
Mit GetCursorPos wird die Position des Cursors ermittelt. Mit WindowFromPoint wir der Handel des Objektes unter dem Curser ermittelt und dann wird einfach geprüft ob dies der Handel eines der Buttons ist.

Bei OnMouseLeav wird einfach geprüft ob es nicht der Handel eines Buttons ist.

Ich hoffe die Erklärung ist halbwegs richtig und verständlich. Ansonsten kann Christian Seehase das sicher genaueres zu sagen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat