Einzelnen Beitrag anzeigen

Andy090778

Registriert seit: 14. Mai 2006
23 Beiträge
 
Delphi 5 Standard
 
#7

Re: Mouseover für Panel + Inhalt

  Alt 27. Jan 2008, 09:59
Das Problem ist, wenn Du die Maus außerhalb Deines Programms bewegst.
Bei schnellen Bewegungen führt Windows kein Mouse Ereignis auf der Delphi-Form aus und stellt nur fest, dass nun ein anderes Programm oder der Desktop die Maus "benutzt".

Ich hab nur D5, da gibts das Ereignis nicht. Dachte eigentlich, dass sowas bei einem Leave-Event abgefangen wird.
Von dem her finde ich das Event unbrauchbar.
Der vorherige Vorschlag die Panels woanders hinzusetzen ist genauso unbrauchbar.


Probiers mal mit folgendem Code in einem Timer, den Du alle 100ms aufrufst:

Delphi-Quellcode:
var
 tp: TPoint;
begin
  GetCursorPos(tp);
  tp := ScreenToClient(tp);
  if (not PtInRect(Panel.ClientRect, P)) then
  begin
    // reset all colors
  end;
end;
oder guck obs ein Form-MouseLeave gibt, mit dem es funktioniert.

Grüße
Andreas
Andreas
  Mit Zitat antworten Zitat