我想完成这么一个功能:就是把鼠标移动到一个地方,这个地方就会出现相关提示信息,比如屏幕上一些点,鼠标移到某点附近时,就显示该点的坐标。(不是单击鼠标出现对话框!)先谢谢大家了。。

解决方案 »

  1.   

    在鼠标移动的事件里WM_MOUSEMOVE,通过鼠标位置计算出要显示的信息 进行显示。
      

  2.   

    void CWaveToWindDlg::OnMouseMove(UINT nFlags, CPoint point) 
    {/*CRect  rect3;
    CRgn   rgn3; 
    CWnd  *pWnd3=GetDlgItem(IDC_STATIC_1);  
    CDC   *pDC3=pWnd3->GetDC();
    pWnd3->GetClientRect(rect3);
    rgn3.CreateRectRgn(rect3.left,rect3.top,rect3.right,rect3.bottom);//获取客户区
    pDC3->SelectClipRgn(&rgn3);//设置客户区 防止 出现画出超过该画布的现象 CString str;
    str.Format("x=%d,y=%d",point.x,point.y);
        pWnd3->GetParent()->GetDescendantWindow(IDC_STATIC0)->SetWindowText("鼠标:"+str);
    */
    }简单的鼠标坐标显示
      

  3.   

    1#的说的是在WM_MOUSEMOVE消息中获取鼠标的位置,然后将要显示的信息显示在鼠标的那个位置上,你可以在需要显示的时候重回一下窗口,在重绘是获取鼠标位置,用TextOut,如果频繁的重绘,可能导致刷新很平凡,有点闪烁
      

  4.   

    用CToolTipCtrl就能实现,很简单的
      

  5.   

    没那么麻烦,我前几天写了一个程序显示鼠标坐标。记住:F9开始,F10暂停。另外如果想要显示鼠标处颜色成分的程序,我还可以给你。
    下面是你想要的。直接复制,就能用:
    #include<windows.h>
    #include<iostream.h>
    void main()
    {       
    while(1)
    {
           while(GetAsyncKeyState(VK_F9)!=-32767)
      Sleep(600);
                    while(GetAsyncKeyState(VK_F10)!=-32767)
    {          POINT   p;     
      GetCursorPos(&p);   
                      cout<<"X="<<p.x<<endl;
                      cout<<"Y="<<p.y<<endl;
      cout<<endl;
      Sleep(600);
    }
    }
    }
      

  6.   

    楼上的程序 不敢恭维不建议Sleep;
    IDC_STATIC_1 是你鼠标所在对话框的ID;
      

  7.   

    我理解你的要求是,像鼠标移动到‘开始’按钮时,这是系统就会,弹出对话框提示。
    如果这样的话,用CToolTipCtrl实现。
    你上百度差一下有很多例子程序和使用方法。
    例如:
    http://blog.sina.com.cn/s/blog_4ac0a0d30100e1rp.html