1、區別
HWND是句柄,CWnd是MFC窗體類,CWnd中包含HWND句柄成員對象是m_hWnd.
HWND是Windows系統中對全部窗口的一種標識,即窗口句柄。這是一個SDK概念。
CWnd是MFC類庫中全部窗口類的基類。微軟在MFC中將全部窗口的通用操做都封裝到了這個類中,如:ShowWindow等等,同時它也封裝了窗口句柄即m_hWnd成員。函數
2、如何獲得窗口對象指針CWnd * pCWnd
1,在窗體裏,直接用 this->,//this就是本窗體的窗口對象指針
2,主窗體的類對象指針:AfxGetApp()->m_pMainWnd->, //AfxGetApp()->m_pMainWnd就是主窗體的窗口對象指針
3,pCWnd=GetDlgItem(ID_EDIT_NAME);//GetDlgItem 函數能夠獲得某個控件的窗口對象指針this
3、如何獲得窗口句柄 HWND Handle
1,Handle=this->m_hWnd
2,GetDlgItem(ID_EDIT_NAME);
3,Handle=::GetDlgItem(this,IDC_STATIC_MODE); //獲得本窗體內某個控件的句柄指針
4、轉換
CWnd * pCWnd;
HWND Handle;
pCWnd=FromHandle(Handle);
Handle=GetSafeHwnd(pCWnd);對象