BOOL Create(CWnd* pParentWnd,int nMaxRows,int nMaxCols,SIZE sizeMin,CCreateContext* pContext,DWORD dwStyle,UINT nID);功能描述:該函數用來創建動態切分窗口。 參數含義:pParentWnd 切分窗口的父框架窗口。 nMaxRows,nMaxCols是創建的最大的列數和行數。 sizeMin是窗格的現實大小。 pContext 大多數情況下傳給父窗口。 nID是字窗口的ID號. BOOL CreateStatic(CWnd* pParentWnd,int nRows,int nCols,DWORD dwStyle,UINT nID) 功能描述:用來創建切分窗口。 參數含義同上。 BOOL CreateView (int row,int col,CruntimeClass* pViewClass,SIZE sizeinit,CcreateContext* pContext);功能描述:為靜態切分的窗口的網格填充視圖。在將視圖於切分窗口聯系在壹起的時候必 須先將切分窗口創建好。
參數含義:同上。
從CSplitterWnd源程序可以看出不管是使用動態創建Create還是使用靜態創建CreateStatic,在函數中都調用了壹個保護函數CreateCommon,從下面的CreateCommon函數中的關鍵代碼可以看出創建CSplitterWnd的實質是創建了壹系列的MDI子窗口。
DWORD dwCreateStyle = dwStyle & ~(WS_HSCROLL|WS_VSCROLL);if (afxData.bWin4) dwCreateStyle &= ~WS_BORDER; //create with the same wnd-class as MDI-Frame (no erase bkgnd) if (!CreateEx(0, _afxWndMDIFrame, NULL, dwCreateStyle, 0, 0, 0, 0,pParentWnd->m_hWnd, (HMENU)nID, NULL)) return FALSE; // create invisible