本文主要是介绍Windows/MFC_CWnd与Hwnd转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1:CWnd是MFC的窗口基类。 HWND是Windows窗口句柄。 前者是一个C++对象,后者是一个类似于指针地址的数字型对象。
2:CWnd可以看成是对Windows窗口操作的封装,而封装的核心就是使用Windows窗口句柄(即HWND)来操作窗口.
3:CWnd可以通过CWnd::GetSafeHwnd()或成员变量m_hWnd来获得该窗口对象的HWND窗口句柄。
HWND可以通过CWnd的静态函数:CWnd::FromHandle()由句柄实例化一个CWnd对象出来。
4:CWnd是MFC中的一个类名,HWND是Windows中窗体句柄的类型。
例:
CxxxDlg aaa;
HWND hWND = aaa.m_hWnd
HWND hWnd;
hWnd=GetSafeHwnd();
HWND hwnd = AfxGetMainWnd();
CWnd* wnd=GetDlgItem(IDC_STATIC1);
5:从HWND转换到CWnd*一个可以使用的方法是CWnd::FromHandle
CWnd* ptempwnd = CWnd::FromHandle (HWND);
这篇关于Windows/MFC_CWnd与Hwnd转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!