怎样让鼠标移到一个矩形区域内后,提示tooltip或类似tooltip的对话框?
然后当鼠标移开指定的区域后,tooltip对话框消失。已经添加了矩形范围,也做了区域判断:
CRect rect(5, 5, 100, 100)
也添加了鼠标消息函数:OnMouseMove

解决方案 »

  1.   

    一: 定义全局变量 CToolTipCtrl  m_tooltip和CWnd* pwnd;//pwnd用来指定要显示控件的指针
    二:在窗体的OnInitDialog()中或OnShowWindow()中创建m_tooltip.    //创建m_tooltip
        m_tooltip.Create(pwnd);   //将CToolTipCtrl与相应的控件对应起来
        m_tooltip.AddTool(pwnd,TTS_ALWAYSTIP);   //设定文字的颜色
        m_tooltipSetTipTextColor(RGB(0,0,255));  
      //设定提示文字在控件上停留的时间
       m_tooltipSetDelayTime(150);              三: 重载CTipTestDlg::PreTranslateMessage(MSG* pMsg)函数,增加如下代码:     //如果m_tip[0]句柄不为空,就从主窗口中捕获消息,如WM_MOUSEMOVE,WM_LBUTTONDOWN等消息
           if(m_tooltip.m_hWnd!=NULL)  m_tooltip.RelayEvent(pMsg);
    4、捕获主窗口的WM_MOUSEMOVE消息,在CTipTestDlg::OnMouseMove(UINT nFlags, CPoint point)函数中增加如下代码:   //鼠标在相应的控件上移动时显示提示文字
        m_tooltip.UpdateTipText("怎么样",pwnd);
    http://blog.chinaunix.net/u/28371/showart_435462.html
    还有这个了!
      

  2.   

    多谢回复或即将回复的朋友。已经实现,我是这么做的:在.h文件里面:CToolTipCtrl m_ToolTip; 
    LRESULT WindowProc(UINT message,WPARAM wParam,LPARAM lParam);在.cpp文件里面:
    OnInitDialog函数,添加:
    m_ToolTip.Create(this,TTS_ALWAYSTIP);       
    m_ToolTip.AddTool(this,_T("ToolTip"));   
    m_ToolTip.SetTipBkColor(RGB(0,222,0));OnMouseMove函数,添加:CString str;       
    str.Format(_T("CX %d,CY %d"),point.x,point.y);//可以修改提示内容       
    m_ToolTip.UpdateTipText(str,this);
    在.h中添加的函数WindowProc的实现代码:
     LRESULT CMFCBMPDlg::WindowProc(UINT message,WPARAM wParam,LPARAM lParam)           
     {       
          //     TODO:     Add     your     specialized     code     here     and/or     call     the     base     class       
    if(message == WM_MOUSEMOVE)       
    {       
    MSG msg;       
    msg.hwnd = m_hWnd;       
    msg.message = message;       
    msg.wParam = wParam;       
    msg.lParam = lParam;        m_ToolTip.RelayEvent(&msg);       
    }       
    return CDialog::WindowProc(message, wParam,lParam);       
      }