视图能加入ToolTips吗?我查msdn里都是关于对话框加ToolTips的。哪位高手给点意见?

解决方案 »

  1.   

    在视图中响应TTN_NEEDTEXT的消息
    afx_msg BOOL OnToolTipText(UINT nID, NMHDR *pNMHDR, LRESULT *pResult);ON_NOTIFY_EX_RANGE(TTN_NEEDTEXT, 0, 0xFFFF, OnToolTipText)BOOL CxxxView::OnToolTipText(UINT nID, NMHDR *pNMHDR, LRESULT *pResult)
    {
    UNREFERENCED_PARAMETER(nID);
    TOOLTIPTEXT *pTTT = (TOOLTIPTEXT*)pNMHDR;
    UINT uId = pNMHDR->idFrom; if(pNMHDR->code == TTN_NEEDTEXT && (pTTT->uFlags & TTF_IDISHWND))
    {
    uId = ::GetDlgCtrlID((HWND)uId);
    }
    if(uId == 0)
    return FALSE; switch(uId)
    {
    case IDC_xxx:
    pTTT->lpszText = _T("xx");
    break;
    default:
    break;
    }
    *pResult = 0;
    return TRUE;
    }
      

  2.   

    msdn上的解释BOOL CMyFormView::OnToolTipNotify( UINT id, NMHDR * pNMHDR, LRESULT * pResult );
    {
        TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
        UINT nID =pNMHDR->idFrom;
        if (pTTT->uFlags & TTF_IDISHWND)
        {
            // idFrom is actually the HWND of the tool
            nID = ::GetDlgCtrlID((HWND)nID);
            if(nID)
            {
                pTTT->lpszText = MAKEINTRESOURCE(nID);
                pTTT->hinst = AfxGetResourceHandle();
                return(TRUE);
            }
        }
        return(FALSE);
    }
    void CTestView::OnInitialUpdate()
    {
        CMyFormView::OnInitialUpdate();
        EnableToolTips(TRUE);
    }