对MFC中的DC不太理解。。。

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:32:12

//使用HDC绘图
/*
HDC hdc;
hdc=::GetDC(m_hWnd);
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
*/
//所有跟窗口相关的操作都被封装在CWnd类中
//所有跟绘图相关的操作都被封装在CDC类中
//使用CDC绘图
/*
CDC *pDC=CWnd::GetDC();
//此处直接使用CWnd类的GetDC,其返回值为CDC*
//SDK中的同名函数使用返回的是HDC
pDC->MoveTo(m_ptOrigin);
pDC->LineTo(point);
CWnd::ReleaseDC(pDC);
*/
//使用CClientDC绘图
/*
CClientDC派生自CDC,在构造的时候调用GetDC,
在析构的时候调用ReleaseDC。使得我们不必
显示调用GetDC与ReleaseDC。
*/
/*
CClientDC dc(this);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
*/
//使用CWindowDC绘图
/*
同样派生自CDC,构造调用GetWindowDC,
析构时调用ReleaseDC()。
可以访问整个屏幕区域,包括客户区和非
客户区。
*/
/*
CWindowDC dc(this);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
*/
//通过GetDesktopWindow获得桌面DC
/*
注意:用平台SDK同名函数获得的是句柄,CWnd中
的同名函数获得的是CWnd指针。可以通过该函数获得
桌面窗口的