• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 399
  • Last Modified:

Toolbar Asset w/VC++ 5.0 in win95 but not winNT

After upgrading to VC++ 5.0, any app that has a toolbar gets a asset as soon as the mouse is moved over the toolbar.  Note: this happens on some win95 machines but not on winNT.

The debug version of the app asserts in tooltip.cpp at line
383 when the mouse is over the toolbar.  

from tooltips.cpp

void CWnd::FilterToolTipMessage(MSG* pMsg)

                // add a "dead-area" tool for areas between toolbar buttons
                TOOLINFO ti; memset(&ti, 0, sizeof(TOOLINFO));
                ti.cbSize = sizeof(TOOLINFO);
                ti.uFlags = TTF_IDISHWND;
                ti.hwnd = m_hWnd;
                ti.uId = (UINT)m_hWnd;
                if (!pToolTip->SendMessage(TTM_GETTOOLINFO, 0, (LPARAM)&ti))
                        ASSERT(ti.cbSize == sizeof(TOOLINFO));
                        ASSERT(ti.uFlags == TTF_IDISHWND);
                        ASSERT(ti.hwnd == m_hWnd);
                        ASSERT(ti.uId == (UINT)m_hWnd);
line 383 --->      VERIFY(pToolTip->SendMessage(TTM_ADDTOOL, 0,


1 Solution
I have not yet been convinced by the features of VC++ 5.0. I have found similar kind of problems while porting my projects across from 4.2 to 5.0. If the project is mission critical. I won't take the risk for some goodies which do nothing.
It's really unprofessional to give such disdainful advice without providing any reasoning, suggestions, or insight.  Certainly, some versions of VC++ have bugs, but it really does noone any good to whine about them without at least explaining what they are and how to avoid them.

Back in the scientific world, it's pretty easy to show that the problem occurs only when you have an older copy of COMCTL32.DLL on your machine.  If you've never installed IE 3.0 or newer on the machine you're using to run this program, you can expect this tooltip code to fail 'cause IE switched around the way one of the tooltip structures looks.

You can read about your specific problem in the Microsoft Knowledgebase in the article at http://www.microsoft.com/kb/articles/q167/6/50.htm.

A fix is probably forthcoming, but you might want to investigate obtaining a newer version of COMCTL32.DLL until then.

.B ekiM


Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now