It's some time since I programmed this part of an application, so I looked back on what I'd done. I saw from my program comments that I had toyed with having a programme option to turn off %th, but in the end settled for having it permanently enabled, but only for unlabelled icons in toolbars as labelled buttons have descriptive text anyway.
I see that I checked the OS version, and didn't use ms_style for XP or 2000.
I also looked at various applications, and noted that where the toolbars used small icons close together, the delays were smaller (300) than where the icons were bigger and wider apart where I'd gone for longer delays (up to 1500). Where the icons are smaller and closer together you need a shorter delay so that the tool help doesn't appear laggy, but you need sufficient delay so that an experienced user isn't bothered by the tool help - they go straight for the button and press it and don't see the message. This is an alternative to having them on or off as a user option. User tolerance for a delay seems increased for larger, wider-apart, icons. Odd.
It has long interested me that %th popups show for all %ib buttons, whether greyed or not, but only for active %tb buttons.
I have used %tt buttons (which don't need %th because they are text already) for a toolbar, but find that the combination of an icon with text in a %bb button is even better.
Eddie