共用方式為


CWnd::PreCreateWindow

呼叫框架視窗中視窗的建立之前附加至這個 CWnd 物件。

virtual BOOL PreCreateWindow(
   CREATESTRUCT& cs 
);

參數

傳回值

如果不是零,則視窗建立應該繼續,表示建立失敗的 0。

備註

警告

CWnd::PreCreateWindow 現在 cs 配置的 hMenu 成員至 this 指標,則為 NULL ,而這個模式包含 WS_CHILD。針對適當的功能,請確定您的對話方塊控制項不是 NULL的 ID。

這項變更會停駐在 Managed 或原生的損毀 Interop 案例中。在 CWnd::CreateTRACE 陳述式警告問題的開發人員。

請勿直接呼叫此函式。

這個功能會檢查的預設實作 NULL 視窗類別名稱和替代的適當的預設值。 在建立視窗之前,請覆寫這個成員函式修改 CREATESTRUCT 結構。

CWnd 從衍生的每個類別加入自己的功能加入至 PreCreateWindow其覆寫。 根據設計, PreCreateWindow 的這些衍生未記載。 若要決定樣式適用於每個類別和相互依存性模式之間,可以檢查 MFC 原始程式碼應用程式的基底類別 (Base Class)。 如果您選擇覆寫 PreCreateWindow, 可以決定用於應用程式的基底類別 (Base Class) 的樣式是否提供您使用從 MFC 原始程式碼收集之資訊的功能。

如需變更視窗樣式的詳細資訊,請參閱 變更 MFC 建立之視窗的樣式。

範例

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::Create

CWnd::CreateEx

CREATESTRUCT 結構