MFC当中CClientDC类当中的MoveTo与LineTo的运用

来源:百度知道 编辑:UC知道 时间:2024/05/19 02:05:06
void CExercise_drawView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
CPen pen(PS_DASH,0.5,RGB(0,255,0));
CPen* oldpen=dc.SelectObject(&pen);
if(judge==true){
dc.MoveTo(m_point);
dc.LineTo(point);
dc.LineTo(cpoint);

m_point=point;
}
dc.SelectObject(oldpen);
CView::OnMouseMove(nFlags, point);
}

在这段代码中我不明白就是那个
dc.MoveTo(m_point);
dc.LineTo(point);
dc.LineTo(cpoint);
这三个之间是怎么搭配的,是第一个做起点,都两个做终点并且分别画两条线

还是“dc.MoveTo(m_point);做起点” ,“dc.LineTo(point);”做终点并且画线 ,然后“dc.LineTo(point);”做起点,“dc.LineTo(cpoint);”做终点并且画线

到底是怎么个搭配呀???

其实可以用中文来翻译。

MOVETO,就是把那个画笔的点,放至m_point坐标。
LINETO,就是从m_point画一条线,到达point.
LINETO,现在,起点就是point了。那么从point出发,画一条线到达cpoint。

明白了吧?

moveto 是将光栅起点移动到光标,下一步绘制将从这儿开始
lineto顾名思义,就是从当前光栅起点划线到当前点。连接成一个直线,并且移动光栅点到当前位置。

那么接下来的lineto 就构成了一个线序列。