HDC CDC CClientDC CWindowDC-it群

来源:百度文库 编辑:神马文学网 时间:2024/07/04 18:44:08
   HDC是Windows的一种数据类型,是设备描述句柄;      CDC是MFC封装的Windows 设备相关的一个类;      CClientDC是CDC的衍生类,产生对应于Windows客户区的对象,在构造的时候调用GetDC,在析构的时候调用ReleaseDC;      CWindowDC也是CDC的衍生类,在构造的时候调用GetWindowDC,在析构时调用ReleaseDC,可访问CWnd的整个屏幕,包括客户去和非客户区。      以画线为例,上面几种DC的使用代码如下: 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); 
 CDC * pDC = GetDC();
 pDC->MoveTo(m_ptOrigin);
 pDC->LineTo(point);
 ReleaseDC(pDC);  CClientDC dc(this);
 CClientDC dc(GetParent());
 dc.MoveTo(m_ptOrigin);
 dc.LineTo(point);
 //CWindowDC dc(this);//this代表只能在view区域绘画
 //CWindowDC dc(GetParent());//在整个frame区域绘画
 CWindowDC dc(GetDesktopWindow());//可在整个桌面区域绘画
 dc.MoveTo(m_ptOrigin);
 dc.LineTo(point);
 
详细出处参考:http://www.itqun.net/content-detail/122866.html