INT_PTR PyramidTypeInDlgProc::DlgProc( TimeValue t,IParamMap *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch (msg) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_PR_CREATE: { if (ob->crtHeight==0.0f) return TRUE; // We only want to set the value if the object is // not in the scene. if (ob->TestAFlag(A_OBJ_CREATING)) { ob->pblock->SetValue(PB_HEIGHT,0,ob->crtHeight); ob->pblock->SetValue(PB_WIDTH,0,ob->crtWidth); ob->pblock->SetValue(PB_DEPTH,0,ob->crtDepth); } Matrix3 tm(1); tm.SetTrans(ob->crtPos); ob->suspendSnap = FALSE; ob->ip->NonMouseCreate(tm); // NOTE that calling NonMouseCreate will cause this // object to be deleted. DO NOT DO ANYTHING BUT RETURN. return TRUE; } } break; } return FALSE; }