求助: WM_CREATE中使用this指针.
我想在WM_CREATE中使用this指针.
代码这样?
MDICREATESTRUCT mdi;
SecureZeroMemory(&mdi,sizeof(MDICREATESTRUCT));
mdi.lParam = (LPARAM)this;
//
hThisWnd = CreateMDIWindow(WndClasName.c_str(),
WndTitle.c_str(),NULL ,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
hThisWndParent,hInstance,(LPARAM)&mdi);
窗口过程中这样处理.
case WM_NCCREATE:
{
assert( ! IsBadReadPtr((void *) lParam,sizeof(CREATESTRUCT)) );
MDICREATESTRUCT * pMDIC = (MDICREATESTRUCT *)(((LPCREATESTRUCT) lParam)->lpCreateParams);
psd = (ps::CPickSecondDataFormHtml *) (pMDIC->lParam);
//assert( ! IsBadReadPtr(psd, sizeof(ps::CPickSecondDataFormHtml)) );
SetWindowLongPtr(hWnd, GWL_USERDATA, (LONG_PTR)psd);
结果发现pMDIC->lParam 并不等于this (mdi.lParam = (LPARAM)this;)这是为何?
想了半天.也不明白.请高手指点.