CDC与HDC

原创 2013年12月02日 18:33:36

首先说一下什么是DC(设备描述表):Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息 。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。

CDCMFCDC的一个类
HDCDC的句柄,API中的一个类似指针的数据类型.
MFC类的前缀都是C开头的
H开头的大多数是句柄
这是为了助记,是编程读\写代码的好的习惯.
CDC中所有MFCDC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).
CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;HDC类型的句柄.
记住下面的一句话,会有助于你的理解.
MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使用它的默认方法,就是,记住它的名字与参数(可以用笔记,代替脑记).
如果将window api比做汇编语言
那么MFC就相当于Basic语言.
CDC是设备描述表的基类,clientDC指代客户区的设备描述表,PaintDC只用于OnPaint()函数中


HDCWINDOWS的一种数据类型,是设备描述句柄。  
  而CDCMFC里的一个类,它封装了几乎所有的关于HDC的操作。  
  也可以这样说,HDC定义的变量指向一块内存,这块  
  内存用来描述一个设备的相关的内容,所以也可以  
  认为HDC定义的是一个指针;而CDC类定义一个对象,  
  这个对象拥有HDC定义的一个设备描述表,同时也包  
  含与HDC相关的操作的函数。  
  这与HPENCPenPOINTCPoint之间的差别是一样  
  的.

 

相关文章推荐

HDC-CDC-CClientDC-CPaintDCC-WindowDC的使用

  • 2014年05月13日 08:34
  • 1.83MB
  • 下载

7.1 如何通过HDC获得CDC指针

  • 2013年11月28日 15:15
  • 12KB
  • 下载

VC中HDC与CDC的区别

首先说一下什么是DC(设备描述表):Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC...

DC、CDC、HDC

  • 2014年08月14日 11:20
  • 100KB
  • 下载

CWnd和CDC, hwnd和hdc

摘自 http://www.cnblogs.com/qq78292959/archive/2011/08/25/2153457.html 虽然Gilbert之前介绍过CWnd和HWnd的区别, 但...

CDC与HDC区别与转换

  • 2012年08月29日 15:02
  • 57KB
  • 下载

(转载别人的博文)MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)

在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API.你说你喜欢C++而MFC换一种说法就是一个用...
  • lp21490
  • lp21490
  • 2013年09月14日 11:53
  • 495

CDC、HDC、pDC之间的关系

1.CDC *pDC和HDC hdc有什么不同,类似的有CWnd *pWnd和HWnd? pDC是类指针 HDC是windows句柄 通过pDC获得hdc: HDC hdc=pDC->Ge...

VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解:

VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解: 首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备...
  • hi_dzj
  • hi_dzj
  • 2011年02月01日 14:11
  • 1249
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CDC与HDC
举报原因:
原因补充:

(最多只允许输入30个字)