2008-09-15 4 views
1

Ich möchte in der Lage sein, einige dynamische Text an der Maus Cursor-Speicherort in einer Win32-App anzuzeigen, z. B. um ein X zu geben, Y-Koordinate, die würde mit dem Cursor als ob verbunden bewegen. Ich kann dies während einer mousemove -Ereignis mit einem TextOut() Aufruf für das Fenster an der Maus Koordinaten und ungültig machen eine rectange um eine gespeicherte letzte Cursor-Position , um die vorherige Ausgabe zu löschen. Allerdings kann dies zu Flackern und verursachen Probleme mit anderen Dingen in einem Fenster wie Tracker Boxen gezeichnet werden. Gibt es einen besseren Weg, dies zu tun, vielleicht mit dem vorhandenen Cursor Zeichnen/Ungültigmachungsmechanismus?Wie zeige ich dynamischen Text am Mauszeiger über C++/MFC in einer Win32-Anwendung

Antwort

1

Sie können ein kleines transparentes Fenster betrachten, das Sie bewegen, um der Maus zu folgen. Insbesondere seit Windows 2000 scheinen Layered Windows die Waffe der Wahl zu sein (Geständnis: keine persönliche Erfahrung dort).

2

Sie können dies über QuickInfos tun - überprüfen Sie CToolTipCtrl.

Wenn Sie flimmerfreie Tracking-ToolTips möchten, müssen Sie Ihre eigenen Klassen von CToolTipCtrl ableiten, die die trackActivate Nachrichten verwenden.

Verwandte Themen