设置和连接像素

时间:2015-04-28 10:12:29

标签: mfc gdi

我想设置鼠标点击的像素并连接这些像素。我的代码如下。

  void CChildView::OnLButtonDown(UINT nFlags,CPoint point)
  { 
  CDC* pDC= GetDC();
  int x[100],y[100];
  POINT Pt[4];

  for(int i=0;i<4;i++)
  {
    SetPixel(NULL,Pt[i].x,Pt[i].y,RGB(0,0,0));
    pDC->MoveTo(Pt[i].x,Pt[i].y);
    pDC->LineTo(Pt[i+1].x,Pt[i+1].y);
 }
 }

但除了空白屏幕外,我在输出中没有得到任何东西。请帮助。

1 个答案:

答案 0 :(得分:0)

创建您需要的变量

在CChildView类中添加一个存储最后一个点的变量,以及一个存储当前点数的变量

CPoint m_lastPoint;
int m_iPointAmount;
CChildView构造函数中的

初始化变量

m_lastPoint.x = -1;
m_lastPoint.y = -1;
m_iPointAmount = 1;
OnLButtonDown方法中的

  1. 检查它是否是第一个点,并更新成员变量
  2. 如果不是第一点并且您的得分少于4分,请将新点与最后一点连接
  3. if (m_lastPoint.x != -1 && m_iPointAmount <5)

    {

    CDC* pDC= GetDC();

    pDC->MoveTo(m_lastPoint.x,m_lastPoint.y);

    pDC->LineTo(point.x,point.y);

    }

    m_lastPoint = point;

    m_iPointAmount++