Comment implémenter des info-bulles pour les icônes de barre d’état

Un moyen non intrusif d’afficher un message explicatif pour une icône de barre de status consiste à implémenter une info-bulle. L’info-bulle disparaît lorsque vous cliquez dessus, mais vous pouvez également spécifier une valeur de délai d’attente.

Bon à savoir

Technologies

Prérequis

  • C/C++
  • Programmation de l’interface utilisateur Windows

Instructions

Implémenter des info-bulles pour les icônes de barre d’état

Le fragment de code suivant montre comment ajouter une info-bulle à une icône de barre de status.

#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))

NOTIFYICONDATA IconData = {0};

IconData.cbSize = sizeof(IconData);
IconData.hWnd   = hwndNI;
IconData.uFlags = NIF_INFO;

HRESULT hr = StringCchCopy(IconData.szInfo, 
                           ARRAYSIZE(IconData.szInfo), 
                           TEXT("Your message text goes here."));

if(FAILED(hr))
{
  // TODO: Write an error handler in case the call to StringCchCopy fails.
}
IconData.uTimeout = 15000; // in milliseconds

Shell_NotifyIcon(NIM_MODIFY, &IconData);
            

Notes

Pour une présentation détaillée de la barre de status, consultez La barre des tâches.

Pour afficher une info-bulle, vous devez définir l’indicateur NIF_INFO dans la structure NOTIFYICONDATA et utiliser les membres szInfo et uTimeout pour spécifier le texte de l’info-bulle et la durée du délai d’attente.

Utilisation des contrôles d’info-bulle