CWnd::Create

Creates the specified child window and attaches it to the CWnd object.

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

[in] lpszClassName

Pointer to a null-terminated string that contains the name of a registered system window class; or the name of a predefined system window class.

[in] lpszWindowName

Pointer to a null-terminated string that contains the window display name; otherwise NULL for no window display name.

[in] dwStyle

Bitwise combination (OR) of window styles. The WS_POPUP option is not a valid style.

[in] rect

The size and location of the window relative to the top-left corner of the parent window.

[in] pParentWnd

Pointer to the parent window.

[in] nID

ID of the window.

[in] pContext

Pointer to a CCreateContext structure that is used to customize the document-view architecture for the application.

TRUE if the method was successful; otherwise FALSE.

Caution note Caution

CWnd::PreCreateWindow now assigns the hMenu member of its CREATESTRUCT parameter to the this pointer if the menu is NULL and the style contains WS_CHILD. For proper functionality, ensure that your dialog control has an ID that is not NULL.

This change fixes a crash in managed/native interop scenarios. A TRACE statement in CWnd::Create alerts the developer of the problem.

Use the AfxRegisterWndClass function to register window classes. User defined window classes are available in the module where they are registered.

The CWnd::OnCreate method is called before the Create method returns, and before the window becomes visible.

// 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);
}

Header: afxwin.h

Show: