Article: Q151894
Product(s): Microsoft C Compiler
Version(s): winnt:4.0,4.1
Operating System(s):
Keyword(s): kbMFC kbToolbar kbToolTip kbVC400 kbVC410 kbGrpDSMFCATL kbMFCCtrlBar
Last Modified: 06-MAY-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), used with:
- Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1
-------------------------------------------------------------------------------
SYMPTOMS
========
Accessing the CToolTipCtrl for a CToolBar with CBRS_TOOLTIPS style, using
GetToolBarCtrl() and subsequently using that pointer to call GetToolTips(),
returns a NULL value.
CAUSE
=====
GetToolTips() returns the pointer to a CToolTipCtrl associated specifically with
the CToolBar. The CToolTipCtrl created for a CToolBar by setting the
CBRS_TOOLTIPS style is not specific to the CToolBar, but rather, is MFC's
CToolTipCtrl common to the entire application.
RESOLUTION
==========
The common CToolTipCtrl is kept as a part of the MFC thread state information.
To access the MFC's common CToolTipCtrl, access m_pToolTip public member of the
current thread state:
_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();
CToolTipCtrl* pToolTip = pThreadState->m_pToolTip;
STATUS
======
This behavior is by design.
MORE INFORMATION
================
In order to provide ToolTip support for a CToolBar, the CBRS_TOOLTIPS style has
to be set during creation or by using CControlBar::SetBarStyle(). This style
results in the ToolBar using MFC's thread specific common CToolTipCtrl rather
than a unique one for the ToolBar. Since the ToolTip is not specific to the
ToolBar, GetToolTips() returns NULL.
Note that a CToolTipCtrl specific to a CToolBar can be created by overriding the
CToolBar::PreCreateWindow() and setting the TBSTYLE_TOOLTIPS. In this case, the
return value of GetToolTips() will be valid.
REFERENCES
==========
For additional information, please see the following article in the Microsoft
Knowledge Base:
Q151162 PRB: CToolBarCtrl Styles Fail with CToolBar
Additional query words: 4.00 4.10
======================================================================
Keywords : kbMFC kbToolbar kbToolTip kbVC400 kbVC410 kbGrpDSMFCATL kbMFCCtrlBar
Technology : kbAudDeveloper kbMFC
Version : winnt:4.0,4.1
Issue type : kbprb
=============================================================================