注册 登录
编程论坛 C++教室

MFC中画三角形,为什么第三条边画不出啊

JackyZhang 发布于 2011-07-11 08:52, 1446 次点击
void CDrawTriangleView::OnLButtonDown(UINT nFlags, CPoint point)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
   
   
    if(n==0)
    aPoint=point;
    else if(n==1)
        bPoint=point;
    else
        Flag=TRUE;
    if(Flag==TRUE)
    {
    CClientDC dc(this);
    dc.MoveTo(aPoint);
    dc.LineTo(bPoint);
    dc.LineTo(point);
    dc.MoveTo(point);//这两条语句,执行了但画不出第三条边
    dc.LineTo(bPoint);//这两条语句,执行了但画不出第三条边
    n=-1;
    }
    n++;
    CView::OnLButtonDown(nFlags, point);
}

我是先在获取三个点,然后用这三个点做个三角形。为什么那两条语句没效果啊?
4 回复
#2
rjsp2011-07-11 09:45
我个人觉得,连三角形都不会画(我不是说代码),真的很不适合写程序
从 aPoint 画到 bPoint,再画到 point,然后再回画到 bPoint,会构成一个三角形?
#3
JackyZhang2011-07-11 11:02
回复 2楼 rjsp
不是啊,我是从aPoint->bPoint,aPoint->Point,然后起点移动到Point 再画到bPoint的,有问题吗?
#4
JackRap2011-07-11 11:30
LineTo以后,画笔位置会被改成线段的终点,程序运行过程,正如2楼rjsp兄所说那样。
#5
JackyZhang2011-07-12 08:12
已经解决
1