CDC画直线的小问题(CDC::SetROP2()的问题)
想在view窗口中画一条直线,以下是 鼠标左键按下 鼠标移动 鼠标左键松开 三个消息的代码,可以正常实现,但是把OnMouseMove中的dc.SetROP2(R2_NOT);删去之后,只能画扇形-------------为什吗???求教OnLButtonDown(UINT nFlags, CPoint point)
{
m_Draw=1; //标记开始画
m_pOrigin=point; //原点
m_pOld=point; //终点
CView::OnLButtonDown(nFlags, point);
}
OnMouseMove(UINT nFlags, CPoint point)
{
if(m_Draw)
{
CClientDC dc(this);
dc.SetROP2(R2_NOT); //就是这句啊,删去之后,随着鼠标移动会画出扇形,而不是直线,为什么啊?????
dc.MoveTo(m_pOrigin);
dc.LineTo(m_pOld);
dc.MoveTo(m_pOrigin);
dc.LineTo(point);
m_pOld=point;
}
CView::OnMouseMove(nFlags, point);
}
void CHelloWorldView::OnLButtonUp(UINT nFlags, CPoint point)
{
m_Draw=0;
CView::OnLButtonUp(nFlags, point);
}