Autor Beitrag
Thunderman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: So 23.06.02 17:03 
Hallo!

Ich habe mir eine eigene Komponente geschrieben, bei der einem TPanel ein OnMouseEnter und ein OnMouseLeave-Ereignis hinzugefügt wurden.
Jetzt wird wenn die Maus auf das Panel kommt (OnMouseEnter) ein Bild gezeichnet, und wenn sie es verlässt (OnMouseLeave) ein andere Bild gezeichnet. Soweit auch noch kein Problem. Aber wenn das Programm jetzt stärker ausgelastet ist, und man die Maus schneller bewegt, wird das OnMouseLeave Ereignis manchmal nicht ausgelöst und somit bleibt das alte Bild. Gibt es dafür eine Lösung? Die einzige die mir einfällt, ist bei jedem OnPaint zu überprüfen, ob die Maus über dem Panel ist, aber das erscheint mir wenig elegant und effektiv, auch wenn ich die Überprüfung nur dann ausführe, wenn die Maus angeblich über dem Panel sein soll. Oder ist das die einzige Möglichkeit?

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Eisenherz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Mo 24.06.02 18:23 
Hi Thunderman,

von der VCL werden die Nachrichten CM_MOUSEENTER und CM_MOUSELEAVE generiert. Die dürften Deine Probleme lösen.

_________________
aloa Eisenherz
Thunderman Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: Sa 29.06.02 17:14 
Nein, tun sie leider gerade nicht. Mit diesen Nachrichten habe ich ja die OnMouseEnter und OnMouseLeave Ereignisse erstellt. Aber ich denke es geht auch nicht anders. Denn auch z. Bsp. der TSpeedButton hat das gleiche Problem.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Eisenherz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Mo 01.07.02 18:17 
so wie das in der VCL implementiert ist, hätte ich gedacht, dass das zuverlassig funktioniert. Da ich die besagten Nachrichten selbst verwende würde es mich natürlich interessieren, unter welchen Umständen es nicht zuverlässig klappt. Wenn Du willst, dann kannst Du mir Deinen Code zuschicken und ich sehe mir das genauer an. Hilfreich wäre es natürlich, wenn Du mir möglichst genau schreiben würdest, wie ich den Fall reproduzieren kann.

_________________
aloa Eisenherz