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;
}
}