In other words, if your icon's balloon is up, then the shell just blasts it
immediately with the new balloon value. If some other icon's balloon is up,
then your balloon won't appear for several seconds, and subsequent balloon
tip requests are queued and displayed *slowly* one after the other.
Don't know why the shell behaves this way, but that is the way it seems to
work.
"Joe Meilak" <j0e_m...@yahoo.com> wrote in message
news:u5Wz0AXaCHA.1652@tkmsftngp09...
> Hi,
>
> The SDK documentation states the following for NOTIFYICONDATA:
>
> If you set the NIF_INFO flag in the uFlags member, the standard ToolTip is
> replaced by a balloon ToolTip. For more discussion of balloon ToolTips,
see
> the ToolTip Controls chapter.
> No more than one balloon ToolTip at a time is displayed for the taskbar.
If
> an application attempts to display a ToolTip when one is already being
> displayed, the ToolTip will not appear until the existing balloon ToolTip
> has been visible for at least the system minimum timeout value. For
example,
> a balloon ToolTip with uTimeout set to 30 seconds has been visible for
seven
> seconds when another application attempts to display a balloon ToolTip. If
> the system minimum timeout is ten seconds, the first ToolTip displays for
an
> additional three seconds before being replaced by the second ToolTip.
>
> ===
>
> My experience (on Windows XP Pro) has been different. If I rapidly
request
> several balloon tooltips for my tray icon, only the last one shows (the
> others are "overwritten"). Am I doing something wrong? My code (that
> changes the bubble text) is below.
>
> Thanks,
> Joe
>
> NOTIFYICONDATA tnid = { sizeof( tnid ) };
> tnid.hWnd = hwndMain;
> tnid.uID = N_TRAY_ICON_ID;
> tnid.uFlags = NIF_INFO; // Show information icon in bubble.
>
> // Ensure bubble text string is not too long. If so, truncate it!
> _tcsncpy( tnid.szInfo, pzBubbleText, STR_SIZE( tnid.szInfo ) );
>
> // Ensure bubble text title is not too long. If so, truncate it!
> _tcsncpy( tnid.szInfoTitle, pzBubbleTitle, STR_SIZE(
tnid.szInfoTitle ) );
>
> tnid.dwInfoFlags = nSysIcon; // Show system icon in bubble (info,
warning,
> error).
>
> tnid.uTimeout = 15000; // Show bubble text for 15 seconds.
>
> // Show the bubble message!
> BOOL bResult = ::Shell_NotifyIcon( NIM_MODIFY, &tnid );
>
>
>
>
>
- Patrick
"Joe Meilak" <j0e_m...@yahoo.com> wrote in message news:<#Kiqf2AbCHA.2616@tkmsftngp09>...