|
发表于 2020-9-27 14:00:01
|
显示全部楼层
1.传对象指针是可以的
2.但不能调用与句柄映射有关的函数。比如CWnd::GetDlgItem().只要不导致下面这个函数和其它句柄映射有关的函数,就可以。
CWnd* PASCAL CWnd::FromHandle(HWND hWnd)
{
CHandleMap* pMap = afxMapHWND(TRUE); //create map if not exist
ASSERT(pMap != NULL);
CWnd* pWnd = (CWnd*)pMap->FromHandle(hWnd);
#ifndef _AFX_NO_OCC_SUPPORT
pWnd->AttachControlSite(pMap);
#endif
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
return pWnd;
} |
|