mfc 获取按钮句柄
我知道mfc中所有窗体控件都封装了一个保存该窗体的句柄成员,怎么去获取这个句柄呢比如:CButtonbtn;如何去获取这个按钮的句柄呢...
我知道mfc中所有窗体控件都封装了一个保存该窗体的句柄成员,怎么去获取这个句柄呢比如:CButton btn;如何去获取这个按钮的句柄呢
展开
3个回答
展开全部
楼上的别乱教 GetDlgltem是用来获取子窗口或者控件的指针的
关于如何在MFC中获取控件句柄
在win32利用API来编程时 我们是通过hwnd = CreateWindow( ... )来建立一个窗体,同时返回一个句柄
MFC中的窗口类和控件类都是又一个基类CWnd派生出来的
MFC里封装了CreateWindow( ... )的过程
所以CWnd类本来自己就有一个句柄成员为m_hWnd
所以只要获得了窗口或者控件的指针 就可以调用成员变量m_hWnd来获取句柄
例如在当前窗口或者控件下操作 就可以直接用this指针 this->m_hWnd
另外 GetSafeHwnd 这个函数也可以试试 具体情况具体分析
具体用法看MSDN吧
记住一点的是 MFC中的消息映射的过程就是通过指针与句柄的映射来实现的
关于如何在MFC中获取控件句柄
在win32利用API来编程时 我们是通过hwnd = CreateWindow( ... )来建立一个窗体,同时返回一个句柄
MFC中的窗口类和控件类都是又一个基类CWnd派生出来的
MFC里封装了CreateWindow( ... )的过程
所以CWnd类本来自己就有一个句柄成员为m_hWnd
所以只要获得了窗口或者控件的指针 就可以调用成员变量m_hWnd来获取句柄
例如在当前窗口或者控件下操作 就可以直接用this指针 this->m_hWnd
另外 GetSafeHwnd 这个函数也可以试试 具体情况具体分析
具体用法看MSDN吧
记住一点的是 MFC中的消息映射的过程就是通过指针与句柄的映射来实现的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询