天天看点

CDC与HDC的区别

引文:微软喜欢将内核对象标识,称之为句柄。应该都是32位或64位

每一个C++设备环境对象都有与之相对应Windows设备环境

并且通过一个32位类型的HDC句柄来标识

HINSTANCE:进程实例或者句柄

HANDLE:    文件句柄

HWND:          窗口句柄,用来标识窗口对象

HPEN:    画笔句柄,用来标识画笔对象

HBITMAP:    位图句柄

CWnd 提供一个窗口处理的MFC封装的基类,一般都是和一个窗口句柄HWnd绑定,有HWND m_hWnd成员。

CDC 是进行设备处理的一个MFC封装类,一般都和一个设备环境句柄HDC绑定,有HDC m_hDc成员。

CDC是MFC定义的习惯,前面加了一个“C”,

而HDC是句柄的定义,前面加了一个“H”,API中一个类似指针的数据类型

HDC,HWND是Windows对象的句柄,在用API对这些对象操作时主要作为参数传递,

CDC,CWnd是MFC类,对Windows对象进行封装。