CWnd与Hwnd转换

 时间:2026-04-25 04:32:37

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

  • winrar怎么批量压缩/解压文件
  • 群晖NAS如何开启TFTP网络传输服务
  • linux 如何卸载plpgsql
  • linux ftp命令上传下载文件
  • 如何安装VirtualBox增强功能插件(linux)?超详细
  • 热门搜索
    ap模式是什么意思 耄耋的意思 死灵术士用什么武器 树欲静而风不止是什么意思 兵不厌诈的意思 疏影横斜水清浅暗香浮动月黄昏的意思 史无前例的意思 淘宝新手卖什么好 璀璨夺目的意思 保罗沃克什么时候死的