TrayIcon sieht Bescheiden aus



  • Hallo,

    ich hab mir mit Shell_NotifyIcon(..) ein Icon erstellt, aber das Icon sieht nicht so toll aus im Tray. Größe ist 16x16 mit 16 farben. Hier die Funktion die ich zum erstellen benutzt habe:

    boolean SysTray_AddIcon(HWND hWnd, int Tray_ID, int Icon_ID, char *hint){
    
    	NOTIFYICONDATA	nid;
    
    	memset(&nid, 0, sizeof(nid));
    	nid.cbSize = sizeof(nid);
    	nid.hWnd = hWnd;
    	nid.uID = Tray_ID;
    	nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;
    	nid.hIcon = LoadIcon(Wnd_ThisInstance, MAKEINTRESOURCE(Icon_ID));
    	nid.uCallbackMessage = WND_SYSTEMTRAY;
    	strncpy(nid.szTip, hint, 64);
    	return Shell_NotifyIcon(NIM_ADD, &nid);
    }
    

    Achja das Icon sieht in Natura natürlich ganz ok aus, nur im Tray halt nicht.



  • Mir kommt es subjektiv immer so vor als würde bei Windows Versionen kleiner WinXP das Notify-Icon immer mit den "Systemfarben" gezeichnet. Was dann bescheiden aussieht wenn die Farben im Icon auf die Systemfarbpalette umgerechnet wird 😉

    Möglicherweise das Icon auf "Systemfarben" (=die einzigsten Farben die mspaint unten anzeigt wenn man eine Bitmap als 16-Farben-Bitmap gespeichert hat) optimieren.


  • Mod

    Verwende nicht LoadIcon, das lädt ein 32x32 Icon sondern LoadImageEx um gezilt ein kleineres Image zu laden.

    Evtl. hat Dein 32x32 Image auch nur 16 Farben...


Anmelden zum Antworten