我如下方式调用
mToolTip.Create(this, TTS_ALWAYSTIP);
创建tooltip,但在父窗口inactive时仍然不显示tip(父窗口active时能正常显示)。
请问各位大虾,我哪儿做得不对?

解决方案 »

  1.   

    有没有加入BOOL CEMapView::PreTranslateMessage(MSG* pMsg) 
    {
    if (::IsWindow(m_toolTip.m_hWnd) && pMsg->hwnd == 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:
    m_toolTip.RelayEvent(pMsg);
    break;
    }
    }

    return CView::PreTranslateMessage(pMsg);
    }
      

  2.   

    BOOL CEMapView::PreTranslateMessage(MSG* pMsg) 
    {
          m_toolTip.RelayEvent(pMsg);
          return CView::PreTranslateMessage(pMsg);
    }
      

  3.   

    BOOL CEMapView::PreTranslateMessage(MSG* pMsg) 
    {
          m_toolTip.RelayEvent(pMsg);
          return CView::PreTranslateMessage(pMsg);
    }
      

  4.   

    加了,如下
    if(pMsg->message== WM_LBUTTONDOWN || pMsg->message== WM_LBUTTONUP || 
    pMsg->message== WM_MOUSEMOVE)
    {
    mToolTip.RelayEvent(pMsg);
    }

    return CButton::PreTranslateMessage(pMsg);