Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Creates the specified child window and attaches it to the CWnd object.
Syntax
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL
);
Parameters
[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.
Return Value
TRUE if the method was successful; otherwise FALSE.
Remarks
Warning
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.
Example
// 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);
}
Requirements
Header: afxwin.h
See Also
CWnd Class
Hierarchy Chart
CWnd::CWnd
CWnd::CreateEx
CreateWindowEx