首先要有画布,在什么上画图,就要获得该对象的地址用一个指针来保存。
比如我在静态文本框IDC_STATIC_PIC。
此时我就需要定义一个CWnd指针 pWnd 来保存通过GetDlgItem(IDC_STATIC_PIC)函数获得的CWnd对象的地址
获得地址之后,要获得该对象的画布。也就是需要定义一个CDC* pDC来保存pWnd->GetDC()后的地址
这个时候可以在堆空间中创建一个画笔类对象的指针 CPen *pPenRed= new CPen;
调用创建画笔的函数来创建具体的画笔 pPenRed->CreatePen(PS_SOLID, 2, RGB(255,0,0));
我这里就是定义了一支实线,2 个像素,红颜色的画笔
此时需要将画笔选进到画布中,但是需要保存原来画笔上的旧的画笔 :
CGdiObject* pOldPen = pdc->SelectObject(pPenRed);
这个时候就可以开始画线了:
pdc->MoveTo(oldx,oldy);移动到起点
pdc->LineTo(newx, newy);在起点和终点之间画线
画完之后把旧画笔选进画布
如果不用画笔了可以调用删除对象的方法删除画笔