设备描述表DC

利用SDK全局函数 

HDC hdc;
hdc = ::GetDC(m_hWnd); //LineTo(hdc, px, py);
::ReleaseDC(m_hWnd, hdc); 

 ::GetDC(m_hWnd); 是全局函数,得到当前设备描述表,::ReleaseDC(m_hWnd, hdc);全局函数,释放设备描述表。利用MFC的CDC类

CDC *pDC = GetDC(); //pDC->LineTo(p);
ReleaseDC(pDC);

利用MFC的CClientDC类

CClientDC dc(this);//dc.LineTo(p);

内部会调用GetDC 析构时会自动释放DC。

//CPen pen(xxxxxxxx);
CClientDC dc(this);
CPen *pOldPen = dc.SelectObject(&pen);
//dc.LineTo(p);
dc.SelectObject(pOldPen);

在程序中,当构造一个GDI对象后,该对象并不会立即生效,必须选入设备描述表SelectObject,SelectObject会返回老的对象。完成操作时需把老的放回去SelectObject。