FromHandle
计算机术语
MFC 实际上是对内核对象HANDLE(如CDC的m_hDC,CWnd的m_hWnd)封装了这个句柄有关的所有操作,一个类生成一个新对象的时候这个句柄是无效的,要获得这个句柄,可以有两个方法,一个是Create来创建,另一个就是用Attach来与一个已有的句柄建立关联,实际上也就是给类的句柄成员变量赋值。
定义
而有些时候这个句柄不是由我们创建,但是我们要对它的封装类进行操作,(mfc 框架)必需创建对应的封装类包装它
MFC 中对各种包含内核对象的封装类都有FromHandle(HANDLE h)方法
FromHandle(HANDLE h) 先查找由用户定义的内核对象的封装类, 如果找到直接返回,没有找到构造一个临时对象返回.
例如:
void CListViewEx::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
CListCtrl& ListCtrl=GetListCtrl();
//构造了一个句柄是lpDrawItemStruct->hDC包装类
CDC* pDC = (CDC *)CDC::FromHandle(lpDrawItemStruct->hDC);
参考资料
最新修订时间:2024-01-01 17:54
目录
概述
参考资料