複製鏈接
請複製以下鏈接發送給好友

FromHandle

鎖定
MFC 實際上是對內核對象HANDLE(如CDC的m_hDC,CWnd的m_hWnd)封裝了這個句柄有關的所有操作,一個類生成一個新對象的時候這個句柄是無效的,要獲得這個句柄,可以有兩個方法,一個是Create來創建,另一個就是用Attach來與一個已有的句柄建立關聯,實際上也就是給類的句柄成員變量賦值。
外文名
FromHandle
性    質
計算機術語
定義
而有些時候這個句柄不是由我們創建,但是我們要對它的封裝類進行操作,(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);