OnPaint函数内画直线
- 首先创建OnPaint函数,步骤如下:
- 找到自己要添加的dialog,双击进入,按照下图操作。
- 选择WM_PAINT消息,添加OnPaint函数,如下:
- 完成上面步骤,在对应的dialog就自动生成了相应的函数。
- 创建画笔
- 在OnPaint函数中进行创建定义
CClientDC dc(this);//定义画家(这里可以定义CPaintDC或者CWindowDC,当然需要看自己的需求)
CPen cPen;//声明画笔
cPen.CreatePen(PS_SOLID,1,RGB(255,0,0)) ;//第一个参数是画笔类型--直线,第二个是画笔粗细,第三个是颜色
dc.SelectObject(&cPen);//将画笔交给画家
- 开始划线
- 在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);
}
------------------------------------------------大功告成----------------------------------------