virtual BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
调用时机: 
窗口建立时 
作为主窗口,大多在InitInstance()中将直接或间接调用Create 
作为子窗口,大多再父窗口建立后发出WM_CREATE消息,对其进行处理时OnCreate()中调用。 
功能: 
控制建立细节 
CWnd实现: 
....... 
//注册窗口类,调用API建立窗口 
// allow modification of several common create parameters CREATESTRUCT cs; cs.dwExStyle = dwExStyle; cs.lpszClass = lpszClassName; cs.lpszName = lpszWindowName; cs.style = dwStyle; cs.x = x; cs.y = y; cs.cx = nWidth; cs.cy = nHeight; cs.hwndParent = hWndParent; cs.hMenu = nIDorHMenu; cs.hInstance = AfxGetInstanceHandle(); cs.lpCreateParams = lpParam; 
//在此调用虚拟函数PreCreateWindow,允许在实际建立之前“篡改”建立参数。 
if (!PreCreateWindow(cs)) 
{  
PostNcDestroy();  
return FALSE; 
} 
AfxHookWindowCreate(this); 
HWND hWnd = ::CreateWindowEx(cs.dwExStyle, cs.lpszClass,   cs.lpszName, cs.style, cs.x, cs.y, cs.cx, cs.cy,   cs.hwndParent, cs.hMenu, cs.hInstance, cs.lpCreateParams);
#ifdef _DEBUG 
if (hWnd == NULL) 
{  
TRACE1("Warning: Window creation failed: GetLastError returns 0x%8.8X\n",   GetLastError()); 
}
#endif 
if (!AfxUnhookWindowCreate())  
PostNcDestroy();        
// cleanup if CreateWindowEx fails too soon 
if (hWnd == NULL)  
return FALSE; 
ASSERT(hWnd == m_hWnd); 
// should have been set in send msg hook 
return TRUE;
}
这是我能找到的材料,希望对你有帮助,我没弄懂。
网址是:http://www.chinaaspx.com/archive/VC/1626.htm