<clk></clk>简而言之,HDC是句柄;CDC是MFC封装的Windows 设备相关的一个类;CClientDC是CDC的衍生类,产生对应于Windows<nobr oncontextmenu="return false;" onmousemove="kwM(2);" id="clickeyekey2" onmouseover="kwE(event,2, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="$cE.defer(this);return kwC(event,2)" onmouseout="kwL(event,this)" target="_blank">客户</nobr>区的对象
HDC和CDC有本质区别吗?
HDC是API定义的数据类型,而CDC是VC对HDC打包后的class,没有本质的区别。
HDC是WINDOWS的一种数据类型,是设备描述句柄。 而CDC是MFC里的一个类,它封装了几乎所有的关于HDC的操作。 <clk></clk> 也可以这样说,HDC定义的变量指向一块<nobr oncontextmenu="return false;" onmousemove="kwM(1);" id="clickeyekey1" onmouseover="kwE(event,1, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="$cE.defer(this);return kwC(event,1)" onmouseout="kwL(event,this)" target="_blank">内存</nobr>,这块内存用来描述一个设备的相关的内容,所以也可以 认为HDC定义的是一个指针;而CDC类定义一个对象, 这个对象拥有HDC定义的一个设备描述表,同时也包含与HDC相关的操作的函数。 这与HPEN和CPen,POINT与CPoint之间的差别是一样 的。
本文解释了HDC作为API定义的数据类型与CDC作为MFC封装类之间的关系。HDC是设备描述句柄,CDC则提供了对HDC进行操作的方法。
125

被折叠的 条评论
为什么被折叠?



