CWnd与HWND,GetSafeHwnd()与m_hWnd
Posted xixixing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CWnd与HWND,GetSafeHwnd()与m_hWnd相关的知识,希望对你有一定的参考价值。
HWND是Windows系统中的窗口句柄,CWnd是MFC中的窗体类,两者的所属不同。CWnd对HWND进行了封装类,更加高级也更加简化。
HWND是Window内核处理对象,系统通过HWND进行操作,而我们则更多的通过CWnd提供的函数来间接操作HWND。
HWND是CWnd类的组成部分,CWnd对象的成员中有HWND对象(m_hWnd)。
以下三种都可获取控件句柄:
HWND hwnd = GetDlgItem(控件的ID)->GetSafeHwnd(); //获取句柄,GetSafeHwnd()比m_hWnd更安全,因为内部会判断是否为NULL,推荐使用
HWND hwnd = GetDlgItem(控件的ID)->m_hWnd; //获取句柄
CWnd *pWnd = GetDlgItem(控件的ID); //获取控件句柄
【参考】
https://www.cnblogs.com/suanec/p/3892836.html
以上是关于CWnd与HWND,GetSafeHwnd()与m_hWnd的主要内容,如果未能解决你的问题,请参考以下文章