TrayIcon zum 1000. Mal
-
Irgendwo habe ich nen Blackout. Wie schafft man es von A-Y ein TrayIcon zu erzeugen wenn man auf minimieren klickt. Ich kann den Beitrag aus der FAQ nachvollziehen, aber wo kann man die Systembefehle herholen?
Ich habe mit dem Klassen-Assistenten eine WM_SYSCOMMAND Message erzeugt.
Aber ich finde nirgendwo die OnTrayNotification funktion?
-
Hast Du denn folgendes schon eingebaut ??
LRESULT CDeinProggDlg::OnTrayNotification(WPARAM wp, LPARAM lp) { switch (lp) { case WM_LBUTTONDOWN: ShowWindow(SW_SHOW); NOTIFYICONDATA iconData; iconData.cbSize = sizeof(NOTIFYICONDATA); iconData.hWnd = this->GetSafeHwnd(); iconData.uID = 1; return Shell_NotifyIcon(NIM_DELETE,&iconData); } return 0; }bzw.
ON_MESSAGE(WM_NOTIFICATION, OnTrayNotification)und....
afx_msg LRESULT OnTrayNotification(WPARAM wParam, LPARAM lParam);Was genau hast Du bisher gemacht ? Sollte wirklich schon alles in der FAQ
sethen, was man wissen muß...Gruß
Chris
-
Erzeuge mal mit dem Klassenassi ne OnSize() Funktion aus WM_SIZE.
Darin sollte dann sowas stehen ...if (nType == SIZE_MINIMIZED) { ..... Hier dein Code für Tray Icon }AndOne

-
Ne habe ich nicht. Woher kommt die OnTrayNotification Function? Ist die selbst erstellt?
-
ja, siehe FAQ...
Devil
-
http://www.codeproject.com/shell/trayicons.asp
läuft perfekt!
-
F.A.Q läuft auch perfekt
:p
-
hallöle,
ich hab ne frage zu dem code aus der faq. ich habe ihn 1 zu 1 übernommen aber bei mir läuft es gar nich so perfekt. wenn ich das programm aus vc++ .net aus starte und den minimieren-button klicke kommt folgende meldung:
Run-Time Check Failure #2 - Stack around the variable 'tnd' was corrupted.
woran kann das liegen?
vielen dank!
-
woran kann das liegen?
Daran:
tnd.szTip[64]='\0';Wie sowas in die FAQ rutschen kann *kopfschüttel*

-
also kann ich es so machen:
char toolTip[64];
tnd.szTip[*toolTip];
oder? zumindest funktioniert es...