2009-02-27 10 views
3

Ich versuche, eine Benachrichtigung zu erhalten, so etwas wie diese Blasen in einer MFC-Anwendung Pop-up:"Sprechblase" notifications

unused icons bubble image

caps lock still on image http://www.humanized.com/weblog/images/caps_lock_indication.png

ich zur Zeit mache eine Interface-Modell in C#, um einige Interessenvertreter zu zeigen, so wäre es auch schön, es dort zu haben.

Es muss nicht unbedingt Sprechblase-esque sein: es so etwas wie ein Tooltip sein könnte - aber es muss ohne Maus über

Beifall erscheinen!

Antwort

6

gefunden Nur this auf Codeproject. Die Probe heruntergeladen und es funktioniert tatsächlich gut. Ich werde das zu meinem eigenen Code-Repository hinzufügen; Ich weiß nie, wann ich das brauche!

3

Es ist ein Standard-Windows-Mechanismus (seit XP), sie heißen Balloon Tooltips. Abhängig davon, wo Sie die Sprechblase anzeigen möchten, können Sie die ShowBalloonTip Methode oder Shell_NotifyIcon API verwenden.

Es gibt NotifyIcon Klasse in Windows Forms, aber ich weiß nicht über TextBox, müssten Sie wahrscheinlich Interop verwenden.

+0

Dies scheint nicht zu funktionieren - könnte das sein, weil ich unter VS2005 bin? – Smashery

+0

Ja, wahrscheinlich wurde CEdits ShowBalloonTip in VS2008 eingeführt. Sie können CEdit HWND verwenden und es in reiner API tun. Es gibt ein Edit_ShowBalloonTip-Makro. – macbirdie

1

Sie könnten einfach System.Windows.Forms.ToolTip verwenden.

using System.Windows.Forms; 

... 

ToolTip myTip = new ToolTip; // create tooltip 
myTip.IsBaloon = true; // give it a round shape 
myTip.SetToolTip(myTool, "You're hovering above myTool."); // register popup message for 'myTool' 
... 
myTip.Show(myTool, "Forced modal pop-up.", 1000); // display pop up message for 1 sec at 'myTool'