Frage

Es ist sehr einfach, ein Taskleistensymbol zu zwingen, einen Ballon Tooltip angezeigt werden: alles, was ich tun müssen, ist die NIF_INFO Flag gesetzt, wenn Shell_NotifyIcon (NIM_MODIFY, ...) aufrufen, und der Ballon wird angezeigt, kein Problem

.

Jetzt mag ich in der Lage sein, den Ballon zu verstecken, wenn ich nicht mehr benötigen, als auch, aber ich kann nicht einen Weg zu tun, dass finden. Ich habe versucht, das Löschen des NIF_INFO Flagge und rufen Shell_NotifyIcon (NIM_MODIFY, ...), aber der Ballon blieb. Es verschwindet von selbst, ein paar Sekunden später, aber das ist nicht das, was ich will. Ich will es verbergen sofort, wenn mein Programm denkt, soll es ausgeblendet werden

Der einzige Weg, um den Ballon zu verschwinden scheint das Symbol zu sein, zu zerstören und dann wieder in die Taskleiste hinzufügen, aber es ist hässlich.

Ist es möglich, den Ballon zu verbergen, ohne die Taskleiste Symbol neu zu erstellen? Danke.

War es hilfreich?

Lösung

Um sofort einen Ballon zu verstecken, setzen Sie das szInfo Mitglied des NOTIFYICONDATA auf einen leeren String, wie nid.szInfo[0] = 0; und Shell_NotifyIcon( NIM_MODIFY, &nid ) nennen.

Andere Tipps

Ich würde anbieten, dass es nicht wirklich im besten Interesse des Benutzers gewaltsam eine Benachrichtigung Ballon zu entfernen. Manchmal kann ein Benutzer sieht nicht an einer Benachrichtigung sofort, und das langsam verblassen weg, die über ein paar Sekunden passiert, gibt ihnen eine Chance, einen Blick darauf zu werfen, bevor der Ballon weg ist. Aus Usability-Sicht sollte der Ballon die Anzeige in der Verantwortung der Anwendung, aber die Entfernung des Ballons sollte wirklich in der Verantwortung des Benutzers. Andernfalls könnten Sie Informationen verstecken in dem Sehen eigentlich interessieren sie waren, und durch gewaltsame sofort versteckt, entfernen Sie vollständig, dass „letzte Chance“ hat der Benutzer während der Ballons verschwinden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top