MFC简单的橡皮筋程序

void CMainWindow::OnLButtonDown(UINT nFlags,CPoint point)
{
    //以下三个是在CMainWindow中定义
    m_ptFrom=point;
    m_ptTo=point;
    m_track=TRUE;

}

void CMainWindow::OnLButtonUp(UINT nFlags,CPoint point){
    m_ptTo=point;
    CPen pen;
    pen.CreatePen(PS_SOLID,16,RGB(255,0,0));

    CClientDC dc(this);
    dc.SelectObject(&pen);
    dc.MoveTo(m_ptFrom);
    dc.LineTo(m_ptTo);
    m_track=FALSE;
}

void CMainWindow::OnMouseMove(UINT nFlags,CPoint point){
    CDC *pDC;
    CClientDC dc(this);
    
    pDC=&dc;
    if(m_track){
        int nOldMode=pDC->SetROP2(R2_NOT);
        pDC->MoveTo(m_ptFrom);
        pDC->LineTo(m_ptTo);
        pDC->SetROP2(nOldMode);

        
        nOldMode=pDC->SetROP2(R2_NOT);//防止线重叠时被擦除
        pDC->MoveTo(m_ptFrom);
        pDC->LineTo(point);
        pDC->SetROP2(nOldMode); m_ptTo
=point; } }

 

posted on 2014-06-06 15:28  上海—Michael  阅读(683)  评论(0编辑  收藏  举报