共用方式為


CWnd::Create

建立指定之子視窗並將其附加至 CWnd 物件。

virtual BOOL Create(
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   Const RECT& rect,
   CWnd* pParentWnd,
   UINT nID,
   CCreateContext* pContext = NULL
);

參數

  • [in] lpszClassName
    要包含已註冊之系統的視窗類別名稱的 NULL 結尾字串的指標,或預先定義的系統視窗類別的名稱。

  • [in] lpszWindowName
    out 包含視窗顯示名稱的 NULL 結尾字串的指標,否則沒有視窗顯示名稱的 NULL 。

  • [in] dwStyle
    位元的 OR 運算組合 (或) 的 視窗樣式WS_POPUP 選項不是有效模式。

  • [in] rect
    視窗的大小和位置 (相對於父視窗左上角的。

  • [in] pParentWnd
    指標到父視窗。

  • [in] nID
    視窗的 ID。

  • [in] pContext
    用來自訂應用程式的文件檢視架構的 CCreateContext 結構的指標。

傳回值

TRUE ,如果方法成功,否則 FALSE。

備註

警告

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

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

使用 AfxRegisterWndClass 函式註冊視窗類別。 使用者定義的視窗類別可在其註冊的模組。

CWnd::OnCreate 方法呼叫,以 Create 方法傳回之前,然後在視窗中,最後變成可見的。

範例

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

需求

標題: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx