//*********************************************************************************************************** BOOL CBCGPBaseVisualCtrl::OnTTNeedTipText (UINT /*id*/, NMHDR* pNMH, LRESULT* /*pResult*/) { static CString strTipText; CPoint point; ::GetCursorPos (&point); ScreenToClient (&point); CString strDescr; if (!OnGetToolTip(point, strTipText, strDescr)) { return FALSE; } LPNMTTDISPINFO pTTDispInfo = (LPNMTTDISPINFO) pNMH; ASSERT((pTTDispInfo->uFlags & TTF_IDISHWND) == 0); if (m_bToolTipCleared && strTipText == m_strLastDisplayedToolTip && strDescr == m_strLastDisplayedToolTipDescr) { return FALSE; } #if !defined _BCGPCHART_STANDALONE if (!strDescr.IsEmpty()) { CBCGPToolTipCtrl* pToolTip = DYNAMIC_DOWNCAST ( CBCGPToolTipCtrl, m_pToolTip); if (pToolTip != NULL) { ASSERT_VALID (pToolTip); pToolTip->SetDescription(strDescr); } } #endif pTTDispInfo->lpszText = const_cast<LPTSTR> ((LPCTSTR) strTipText); m_bToolTipCleared = FALSE; m_strLastDisplayedToolTip = strTipText; m_strLastDisplayedToolTipDescr = strDescr; return TRUE; }
//********************************************************************************** BOOL CBCGPCaptionBar::OnNeedTipText(UINT /*id*/, NMHDR* pNMH, LRESULT* /*pResult*/) { static CString strTipText; if (m_pToolTip->GetSafeHwnd () == NULL || pNMH->hwndFrom != m_pToolTip->GetSafeHwnd ()) { return FALSE; } if (CBCGPPopupMenu::GetActiveMenu () != NULL) { return FALSE; } LPNMTTDISPINFO pTTDispInfo = (LPNMTTDISPINFO) pNMH; ASSERT((pTTDispInfo->uFlags & TTF_IDISHWND) == 0); CString strDescr; switch (pNMH->idFrom) { case nIdToolTipClose: { CBCGPLocalResource locaRes; strTipText.LoadString (IDS_BCGBARRES_CLOSEBAR); } break; case nIdToolTipText: strTipText = m_strText; strTipText.Remove (_T('\b')); break; case nIdToolTipImage: strTipText = m_strImageToolTip; strDescr = m_strImageDescription; break; case nIdToolTipButton: strTipText = m_strButtonToolTip; strDescr = m_strButtonDescription; break; } if (strTipText.IsEmpty ()) { return TRUE; } CBCGPToolTipCtrl* pToolTip = DYNAMIC_DOWNCAST ( CBCGPToolTipCtrl, m_pToolTip); if (pToolTip != NULL && !strDescr.IsEmpty ()) { ASSERT_VALID (pToolTip); pToolTip->SetDescription (strDescr); } pTTDispInfo->lpszText = const_cast<LPTSTR> ((LPCTSTR) strTipText); return TRUE; }