设置和连接像素

Setting and connecting pixels

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

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

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

创建您需要的变量

在 CChildView class 添加一个存储最后一个点的变量,以及一个存储您当前拥有的点数的变量

CPoint m_lastPoint;
int m_iPointAmount;

在 CChildView 构造函数中初始化变量

m_lastPoint.x = -1;
m_lastPoint.y = -1;
m_iPointAmount = 1;

在 OnLButtonDown 方法中

  1. 检查是否为第一个点,更新成员变量
  2. 如果不是第一个点并且你的点数少于4个,将新点与最后一个点连接起来

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++