int CMuleStatusBarCtrl::OnToolHitTest(CPoint point, TOOLINFO* pTI) const { int iHit = CWnd::OnToolHitTest(point, pTI); if (iHit == -1 && pTI != NULL && pTI->cbSize >= sizeof(AFX_OLDTOOLINFO)) { int iPane = GetPaneAtPosition(point); if (iPane != -1) { CString strToolTipText = GetPaneToolTipText((EStatusBarPane)iPane); if (!strToolTipText.IsEmpty()) { pTI->hwnd = m_hWnd; pTI->uId = (UINT_PTR)iPane; pTI->uFlags &= ~TTF_IDISHWND; pTI->uFlags |= TTF_NOTBUTTON|TTF_ALWAYSTIP; //MORPH START - Added by SiRoB, Show zz ratio activation reason /* pTI->lpszText = _tcsdup(strToolTipText); // gets freed by MFC */ pTI->lpszText = LPSTR_TEXTCALLBACK; //MORPH END - Added by SiRoB, Show zz ratio activation reason GetRect(iPane, &pTI->rect); iHit = iPane; } } } return iHit; }
void CMuleStatusBarCtrl::OnToolTipNotify( UINT /*id*/, NMHDR * pNotifyStruct, LRESULT * /*result*/ ) { TOOLTIPTEXTW* pTI = (TOOLTIPTEXTW*)pNotifyStruct; _stprintf(pzToolTipText, GetPaneToolTipText( (EStatusBarPane)pNotifyStruct->idFrom )); ::SendMessage(pNotifyStruct->hwndFrom, TTM_SETMAXTIPWIDTH, 0, 300); pTI->lpszText = pzToolTipText; }
INT_PTR CMuleStatusBarCtrl::OnToolHitTest(CPoint point, TOOLINFO* pTI) const { int iHit = CWnd::OnToolHitTest(point, pTI); if (iHit == -1 && pTI != NULL && pTI->cbSize > 0 ) { int iPane = GetPaneAtPosition(point); if (iPane != -1) { CString strToolTipText = GetPaneToolTipText((EStatusBarPane)iPane); if (!strToolTipText.IsEmpty()) { pTI->hwnd = m_hWnd; pTI->uId = (UINT_PTR)iPane; pTI->uFlags &= ~TTF_IDISHWND; pTI->uFlags |= TTF_NOTBUTTON|TTF_ALWAYSTIP; pTI->lpszText = _tcsdup(strToolTipText); // gets freed by MFC GetRect(iPane, &pTI->rect); iHit = iPane; } } } return iHit; }