TrayIcon ändern / animieren
-
Hi!
Ich habe meinem Programm ein TrayIcon hinzugefügt, nur wie kann ich das ICON und/oder den Text ändern ohne es vorher zu löschen?
Es soll dann je manch Status ein anderes ICON angezeigt werden.
Manche Programme haben auch animierte ICON's (sind einfach nur mehrere ICON's hintereinander) wie kann man dies am einfachsten machen?Danke!
MfG Stefan
-
Also du hast ja sicher die Zeile Code
Shell_NotifyIcon(NIM_ADD,&tnd);
da musst du das NIM_ADD durch ein NIM_MODIFY (wars glaub ich) ersetzten (also da wo du es ändern willst) und schon aktuallisiert er den text ohne das icon zu löschen...
-
So hab ich das natürlich schon versucht, es ging nur leider nicht...
Vielleicht hab ich zuwenig im&tnd
stehen!?!
Was muss dann da alles noch mal rein? Das vom Löschen oder das selbe wie beim erstellen?
-
haste dir das schonmal in der faq angeschaut..???
-
Schau auf meine HP. Dort ist in einem Programm eine Klasse dafür eingebunden
-
ja klar!
Nur beim zweitenmal, wenn ich den Text bzw. das ICON ändern will...
Muss ich dann noch mal alles mit rein nehmen? Ich denke mir, ich mach das wie beim löschenNOTIFYICONDATA iconData; iconData.cbSize = sizeof(NOTIFYICONDATA); iconData.hWnd = this->GetSafeHwnd(); iconData.uID = 1; Shell_NotifyIcon(NIM_DELETE,&iconData);
und änder einfach den Text oder eben das ICON (wie beim erstellen) vor
Shell_NotifyIcon(NIM_ADD,&tnd);
oder?
-
Hi Unix-Tom, ich komm leider nicht auf deine Homepage...
Ist einfach eine lehre Seite!??!
Was ist da los? An mir liegt es bestimmt nicht!MfG Stefan
-
Text ändern (new_text ist ein Zeiger auf einen char, info ist die zugehörige NOTIFYICONDATA-Struktur):
lstrcpyn(info.szTip, new_text, sizeof(info.szTip)); Shell_NotifyIcon(NIM_MODIFY, &info)
-
Danke @ all
Kamm mittlerweile auch auf die Seite vom Unix-Tom, hat alles funktioniert und läuft jetzt alles wie es soll!
MfG Stefan