我想要的效果是:象qq里面截图那样,可以在桌面任何地方画一个矩形。并得到这个矩形的相关坐标。
大虾来帮帮我,在线等~

解决方案 »

  1.   

    CreateDC("Display",,)
    Rectangle()
      

  2.   

    你重在OnLButtonDown,OnRButtonDown,OnMouseMove即可。
      

  3.   

    响应鼠标的消息,在消息函数里
    CDC m_memDC;
    OnLButtonDown(UINT nFlags, CPoint point) 
    {
    CDC* pDC=GetWindowDC( );
    m_memDC.CreateCompatibleDC(pDC);//在m_memDC画需要的图
    //
    //}
    OnDraw()中
    dc.BitBlt(0,0,cx,cy,&m_dcMem, sourcex, sourcey,SRCCOPY);
      

  4.   

    应该还有一个OnButtonDrag()之类的吧
    响应鼠标拖拽
      

  5.   

    没看清你需要在屏幕上画,直接在OnLButtonDown中
    pDC->BitBlt(0,0,cx,cy,&m_dcMem, sourcex, sourcey,SRCCOPY);
    就可以。
    画矩形:
    CRect rect;
    rect.SetRect(10,10,10,10);
    m_memDC.Rectangle(&rect);
      

  6.   

    BOOL CXXX::OnDraw(CDC* pDC)
    {
      pDC->Draw3dRect(CRect(5,5,300,300),RGB(0,0,0,),RGB(0,0,0));
      return TRUE;
    }
      

  7.   

    谢谢大家,不过我要的是可以变化的,拖动鼠标后展现出的一个矩形,而不是开始就固定好的矩形~
    像pDC->Draw3dRect(CRect(5,5,300,300),RGB(0,0,0,),RGB(0,0,0));
    rect.SetRect(10,10,10,10);
    这样是不行的~
      

  8.   

    怎么没人啊,高手那儿去了,分不够可以加啊,只要解决问题就好~注意是在屏幕上用鼠标随意画一个矩形,把这个矩形的信息保存到一个RECT对象里去~
      

  9.   

    我faint,没人知道啊~
    现在问的问题越来越不能得到较好的答案了,也罢,散分吧-_-!
      

  10.   

    OnMouseMove里做这个就行了,记录鼠标的坐标,然后刷新rect.SetRect()具体坐标根据鼠标来定就ok了,记得把前一次的刷掉,这样就不会留痕迹了。