Baloon tip con Windows SDK

di il
1 risposte

Baloon tip con Windows SDK

Le icone della tray area (qualla vicino all'orologio della barra della applicazioni) di windows, con le SDK si usa la funzione Shell_NotifyIcon(...), che prende come parametro una struttura contenente informazioni sull'operazione che si deidera fare (aggiungere un'icona, cancellarla, modificarla, ecc...)

typedef struct _NOTIFYICONDATAW {
        DWORD cbSize;
        HWND hWnd;
        UINT uID;
        UINT uFlags;
        UINT uCallbackMessage;
        HICON hIcon;
        WCHAR  szTip[64];
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
Per mostrare i Baloon-tip (fumetti ), a partire da internet explorer 5 c'è una versione estesa di questa coppia funzione/struttura. Gli header che ho io non sono aggiornati, ma li ho modificati inserendo la definizione qui riportata:

typedef struct _NOTIFYICONDATA { 
    DWORD cbSize; 
    HWND hWnd; 
    UINT uID; 
    UINT uFlags; 
    UINT uCallbackMessage; 
    HICON hIcon; 
    #if (_WIN32_IE < 0x0500)
        TCHAR szTip[64];
    #else
        TCHAR szTip[128];
    #endif
    #if (_WIN32_IE >= 0x0500)
        DWORD dwState; 
        DWORD dwStateMask; 
        TCHAR szInfo[256]; 
        union {
            UINT  uTimeout; 
            UINT  uVersion; 
        } DUMMYUNIONNAME;
        TCHAR szInfoTitle[64]; 
        DWORD dwInfoFlags; 
    #endif
    #if (_WIN32_IE >= 0x600)
        GUID guidItem;
    #endif
} NOTIFYICONDATA, *PNOTIFYICONDATA;
Quello che ancora mi manca sono le dichiarazioni dei codici validi per il campo uFlags, ma soprattutto quelli per dwInfoFlags.

Qualcuno me li potrebbe riportare qui?

Grazie.

1 Risposte

  • Re: Baloon tip con Windows SDK

    Ecco i valori per il campo dwInfoFlags:
    // Notify Icon Infotip flags
    #define NIIF_NONE       0x00000000
    // icon flags are mutually exclusive
    // and take only the lowest 2 bits
    #define NIIF_INFO       0x00000001
    #define NIIF_WARNING    0x00000002
    #define NIIF_ERROR      0x00000003
    #if (_WIN32_IE >= 0x0600)
    #define NIIF_USER       0x00000004
    #endif
    #define NIIF_ICON_MASK  0x0000000F
    #if (_WIN32_IE >= 0x0501)
    #define NIIF_NOSOUND    0x00000010
    #endif
    
    e qua quelli per il campo uFlags:
    #define NIF_MESSAGE     0x00000001
    #define NIF_ICON        0x00000002
    #define NIF_TIP         0x00000004
    #if (_WIN32_IE >= 0x0500)
    #define NIF_STATE       0x00000008
    #define NIF_INFO        0x00000010
    #endif
    #if (_WIN32_IE >= 0x600)
    #define NIF_GUID        0x00000020
    #endif
    Ciao.
Devi accedere o registrarti per scrivere nel forum
1 risposte