MFC的CWnd和HWND之间互相转换方法

类是什么就不解释了

句柄是一个32位的数,是在WINDOS中的一个资源标示符,相当于c里面的指针.

窗口类就是CWnd,窗口句柄就是HWND。CWnd和HWND之间互相转换代码如下:
    CWnd *pWnd;
    HWND hWnd;
    hWnd = pWnd->GetSafeHwnd();        //CWnd->HWND
    pWnd = CWnd::FromHandle(hWnd); //HWND->CWnd

--------
HWND   句柄,其实就是void*类型的,当然没有函数可调用,只有用API对它进行操作。
Cwnd 是C++的一个类,有函数调用。但其操作的对像其实就是一个HWND的句柄。

主窗口的CWND 就是框架窗口了,包括其他子窗口的容器

就是MFC与SDK的关系.弄懂了,WINDOWS编程就变得容易了

CWnd是类名
HWND是句柄

LRESULT AFXAPI AfxCallWndProc(CWnd* pWnd, HWND hWnd, UINT nMsg,...

Cwnd是C++里面的一个类
HWND是一个句柄,他是一个32位的数,相当于c里面的指针.

HWND是个整数,存放于windows资源标志表
例如 HWND hWnd1    1 (表示进程1中的某个窗口对象的地址)
      HWND hWnd2    2 (表示进程2中的某个窗口对象的地址)
       。.。
       。
       。
       。

进程即为你的操作系统中运行的应用程序或者服务 。

 

你可能感兴趣的:(编程,c,windows,框架,api,mfc)