CWnd与Hwnd转换

2025-05-07 02:27:49

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);

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢