HDC是WINDOWS的一种数据类型,是设备描述句柄。
CDC是MFC里的一个类,它封装了几乎所有的关于HDC的操作。
pDC一般用作CDC类的指针。
也可以这样说,HDC定义的变量指向一块内存,这内存用来描述一个设备的相关的内容,所以也可以认为HDC定义的是一个指针;而CDC类定义一个对象,这个对象拥有HDC定义的一个设备描述表,同时也包含与HDC相关的操作的函数。这与HPEN和CPen,POINT与CPoint之间的差别是一样的。
pDC是类指针
HDC是windows句柄
通过pDC获得hdc:
HDC hdc=pDC->GetSafeHdc();
通过hdc获得pDC:
CDC *pDC=new CDC;
pDC->Attach(hdc);
同理:Hwnd和pwnd也是一样
在MFC中,CWnd类是一个很重要的类,它封装了Windows的窗口句柄HWND。
CWnd往往和*pwnd联合使用。
CWnd *pWnd;
HWND hWnd;
hWnd = pWnd->GetSafeHwnd() ;
pWnd->Attach(hWnd);
CDC *pdc=pWnd->GetDC();
HDC hDC = ::GetDC(hWnd);
即pwnd可以获得pdc,h可获得h