Tooltips under XP SP2 still partially broken?

My OpenGL app has a toolbar, and the tooltips that pop up generally extend over the OpenGL window. The first time a tooltip pops up in my app, it displays correctly. However, every tooltip thereafter gets overwritten by the OpenGL window. If the tooltip is only partially over the OpenGL window, then just the portion over the OpenGL window gets overwritten; the rest remains visible.

All this is in Windows XP SP2. Has anyone else seen this? Does anyone have a solution to the problem?

A little investigation shows me that apparently every tooltip that pops up other than the first one triggers a WM_PAINT message in my OpenGL window. The first one doesn’t (which is presumably why it doesn’t get erased).

I’m not sure if it matters, but I have an ATI Radeon 9700 Pro, with Cat 4.8 drivers installed. Oh, and while I would be interested in knowing any settings changes that I could make to make the problem go away on my machine, I’d really like a solution that will work on my users’ machines without them having to change their settings.

Well, I found a solution, and thought others might be interested. Unless this is a bug in my video driver it should effect any OpenGL app with a toolbar right above the OpenGL window.

I’m not quite sure why it works, but sending TTM_SETWINDOWTHEME to the tooltip control with an empty Unicode string as the lparam every time you get a TTN_GETDISPINFO notification from it seems to solve the problem. Note that it apparently has to be sent every time; sending it just once doesn’t do any good.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.