override 
virtual void CFrameWnd::GetMessageString(UINT nID, CString& rMessage) const;

解决方案 »

  1.   

    请参考:
    1. 调用 CToolBar的CToolBarCtrl& GetToolBarCtrl( )函数
    2. 调用CToolBarCtrl的 CToolTipCtrl* GetToolTips( ) 函数
    3. 利用CToolTipCtrl中的函数修改提示.
      

  2.   

    BEGIN_MESSAGE_MAP(CMyView, CView)
       ...
       ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
       ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)
    END_MESSAGE_MAP()void CMyView::OnInitialUpdate() 
    {
       CView::OnInitialUpdate();
       
       CEdit* pEdit = new CEdit;
       pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
          CRect(10, 10, 100, 100), this, 111);
       EnableToolTips(TRUE);   }BOOL CMyView::OnToolTipNotify(UINT id, NMHDR *pNMHDR,
       LRESULT *pResult)
    {
       TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
       TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
       CString strTipText;
       UINT nID = pNMHDR->idFrom;
       if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
          pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
       {
          nID = ::GetDlgCtrlID((HWND)nID);
       }   if (nID != 0) 
          strTipText.Format("Control ID = %d", nID);   if (pNMHDR->code == TTN_NEEDTEXTA)
          lstrcpyn(pTTTA->szText, strTipText, sizeof(pTTTA->szText));
       else
          _mbstowcsz(pTTTW->szText, strTipText, sizeof(pTTTW->szText));
       *pResult = 0;   return TRUE;    }