MFC画直线(dialog)

OnPaint函数内画直线

  1. 首先创建OnPaint函数,步骤如下:
  • 找到自己要添加的dialog,双击进入,按照下图操作。
  • 选择WM_PAINT消息,添加OnPaint函数,如下:
  • 完成上面步骤,在对应的dialog就自动生成了相应的函数。
  1. 创建画笔
  • 在OnPaint函数中进行创建定义
	CClientDC dc(this);//定义画家(这里可以定义CPaintDC或者CWindowDC,当然需要看自己的需求)
	CPen cPen;//声明画笔
	cPen.CreatePen(PS_SOLID,1,RGB(255,0,0)) ;//第一个参数是画笔类型--直线,第二个是画笔粗细,第三个是颜色
	dc.SelectObject(&cPen);//将画笔交给画家
  1. 开始划线
  • 在OnPaint函数中进行画线
void AddSigDlg::OnPaint()
{
	CClientDC dc(this); // device context for painting
					   // TODO: 在此处添加消息处理程序代码
					   // 不为绘图消息调用 CDialog::OnPaint()
	//CPaintDC dc(this);
	//CWindowDC dc(this);
	CDialog::OnPaint();
	CPoint start;
	CPoint end;

	CPen cPen;//创建画笔
	cPen.CreatePen(PS_SOLID, 1, RGB(0,200,0));
	dc.SelectObject(&cPen);
	start.x = 300;
	start.y = 80;
	end.x = 300;
	end.y = 500;
	dc.MoveTo(start);
	dc.LineTo(end);

	cPen.CreatePen(PS_SOLID, 1, RGB(255,0,0));
	dc.SelectObject(&cPen);
	start.x = 400;
	start.y = 80;
	end.x = 400;
	end.y = 500;

	dc.MoveTo(start);
	dc.LineTo(end);
}

------------------------------------------------大功告成----------------------------------------


发布了84 篇原创文章 · 获赞 63 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/wsq119/article/details/103399544