Balloon-Tooltips und tausend Fragen
-
Hallo zusamm'
Mein Programm erzeugt ein Icon ein der TrayLeiste und ich möchte statt der normalen Tooltips eben Balloon-ToolTips anzeigen (sieht ja doch schöner aus
) Das klappt auch soweit ganz gut. Doch jetzt zu meinen Fragen:
1: Ich hatte vermutet (oder gehofft), das die Balloons genauso wie die "klassischen" Tips automatisch angezeigt werden, wenn man mit der Maus drüber fährt. Dem scheint aber nicht so zu sein. Ist das richtig oder gibts da ein Flag, welches man setzen kann?
2: Da ich bzgl. (1) nix rausgekriegt hab, fange ich in meiner Callback-Funktion WM_MOUSEMOVE ab und zeige den Tip manuell was auch klappt. Stückchen Code (gekürzt):void __fastcall TfrmMain::WMTrayNotify(TMessage &Msg) { POINT MousePos; switch(Msg.LParam) { case WM_MOUSEMOVE: if(!blBalloon) //Flag damit sich nix "queued" { blBalloon = true; ShowBalloon(); //zeigt einfach den Balloon an (Shell_NotifyIcon) } break; case NIN_BALLOONUSERCLICK: case NIN_BALLOONTIMEOUT: blBalloon = false; } TForm::Dispatch(&Msg); }
Allerdings werden die NIN_ Messages nie ausgelöst, was mich vor ein ziemliches Prob stellt, denn ich möchte ja doch mein Flag wieder rücksetzen
Ich hoffe das war alles nicht zu wirr und es kann jemand helfen
.
[ Dieser Beitrag wurde am 04.06.2003 um 14:38 Uhr von Postman editiert. ]
-
Also warum die NIN_... Messages nicht kommen, hab ich rausgekriegt, die gibts erst ab Shell6.0, sprich XP.
Was aber immer noch die Frage offen läßt, wie kriege ich mit, wann ein Balloon geschlossen wird???? Oder auch, wann verläßt die Maus den Bereich des Icons (sowas wie WM_MOUSELEAVE gibts ja hier nicht) ? Das täte auch schon mal helfen.....