The common controls DLL, version 6, is not clearing an internal flag when
it's supposed to.
Moving the mouse to another tool will cause the tip to reappear (and,
presumably, implicitly clear said flag).
One suggested work-around is to track the visibility of the tip, and, when
the mouse leaves a tool, explicitly pop the tip if it is NOT visible. This
will clear the flag on buggy systems and be benignly redundant on fixed
systems.
I will request a hot-fix for XP, just because there is no downside to doing
so, and if it should appear with lightning swiftness, it might actually do
us some good. However, under the circumstances (all available engineering
hands on Vista), and given the non-critical nature of the problem, I can't
imagine a hot-fix will be forthcoming any time soon.
Pete Gontier
http://www.m-audio.com/
pete (at) m-audio (dot) com
-----------------
Path:
g2news2.google.com!news3.google.com!news.glorb.com!newsfeed-east.nntpserver.
com!nntpserver.com!statler.nntpserver.com!be5.nntpserver.com!not-for-mail
User-Agent: Microsoft-Entourage/11.2.3.060209
Date: Wed, 19 Jul 2006 14:57:39 -0700
Subject: tooltip autopops and never returns
From: Pete Gontier <n...@spam-for-me.thanks>
Newsgroups: comp.os.ms-windows.programmer.win32
Message-ID: <C0E3F8E3.1CA32%n...@spam-for-me.thanks>
Thread-Topic: tooltip autopops and never returns
Thread-Index: AcarflnzmKvJjhdxEduAwAADk1q77A==
Mime-version: 1.0
Content-type: multipart/alternative;
boundary="B_3236165861_6510260"
Lines: 126
NNTP-Posting-Date: 19 Jul 2006 21:04:00 GMT
X-Complaints-To: ab...@teranews.com
The single tool tip I've created seems to behave as described in the
Platform SDK documentation, except that when its autopop timer goes off (and
the tip thus disappears), and I move the mouse outside the tool and then
back inside, the tool tip will not reappear. Is this standard behavior?
Apps which have this behavior:
* Internet Explorer 6
* Outlook Express 6
* Windows Media Player 10
Apps which do not have this behavior:
* Visual Studio 2003
* Excel 2003
* WordPad (XP SP2)
* Paint (XP SP2)
And of course there is a set of apps which do not support autopop at all.
I¹m guessing they are either incorrectly implementing their own tool tip
logic from scratch or incorrectly cherry-picking or synthesizing the
messages they forward.
My tool is a window and I've told the tool tip to subclass the window. Not
sure if this makes a difference for this particular issue. My application
also sub-classes the tool window in order to monitor such things as
TTN_SHOW. My sub-classing code has shipped in many products without known
issues.
The documentation says tips are shown as the result of WM_MOUSEMOVE
messages. I verified that the parent window receives these messages after
the tip has popped.
I¹ve logged all the notification messages received by the parent window and
TTN_POP seems to be the last. Once this notification occurs, no more occur.
I guess this is no surprise because a notification would occur only if the
tooltip decided to do something.
I¹ve enumerated and logged all the tools (in fact the only tool) on every
WM_MOUSEMOVE message and I see no changes over the life of the program,
including after TTN_POP.
I¹ve noticed it doesn¹t seem to matter whether I send TTM_ACTIVATE to the
tip window. Does that ring any bells for anyone?
The tool window is embedded deeply within an MDI window. Does that ring any
bells for anyone?