Показ ToolTip на окошке (MFC)

kio 19.05.2004 - 05:34 | Хочу показывать Тултип при наведении мышки на окно. Почитал документацию, сделал как показано ниже. При наведении мыши на окошко функция PreTranslateMessage корректно обрабатывает, ToolTip.RelayEvent(pMsg) вроде вызывается, но в функцию OnToolTipNotify управление не передается. Что я не так сделал? #CtrlWnd.h class CCtrlWnd : public CWnd { .... protected: BOOL OnToolTipNotify(UINT, NMHDR* pNMHDR, LRESULT*); DECLARE_MESSAGE_MAP() public: CToolTip ToolTip; .... }; #CtrlWnd.cpp BEGIN_MESSAGE_MAP(CCtrlWnd, CWnd) ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipNotify) ... BOOL CCtrlWnd::PreTranslateMessage(MSG* pMsg) { if (::IsWindow(ToolTip.m_hWnd)) { switch(pMsg->message) { case WM_LBUTTONDOWN: case WM_MOUSEMOVE: case WM_LBUTTONUP: case WM_RBUTTONDOWN: case WM_MBUTTONDOWN: case WM_RBUTTONUP: case WM_MBUTTONUP: ToolTip.RelayEvent(pMsg); break; } } return CWnd::PreTranslateMessage(pMsg); } int CCtrlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CWnd::OnCreate(lpCreateStruct) == -1) return -1; CRect ClockRect; GetWindowRect(&ClockRect); if (ToolTip.Create(this, TTS_ALWAYSTIP) && ToolTip.AddTool(this, LPSTR_TEXTCALLBACK, &ClockRect, 1)) { ToolTip.SetMaxTipWidth(SHRT_MAX); ToolTip.Activate(true); } else { #ifdef DEBUG MessageBox("Error creating tooltip"); #endif } return 0; } BOOL CCtrlWnd::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult) { MessageBox("Gotcha!"); return TRUE; };
UE 1 - 19.05.2004 - 17:41 | EnableToolTips?

>>