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
    对包含窗口显示名称为的Null结尾的字符串的指针;否则没有windows显示名称的 NULL。

  • [in] dwStyle
    按位组合(或)的 窗口样式WS_POPUP 选项不是有效的样式。

  • [in] rect
    窗口的大小和位置相对于父窗口的左上角。

  • [in] pParentWnd
    指向父窗口。

  • [in] nID
    窗口的ID。

  • [in] pContext
    用于自定义应用程序的文档视图结构的 CCreateContext 结构的指针。

返回值

TRUE,如果方法成功;否则 FALSE。

备注

警告说明警告

CWnd::PreCreateWindow 现在将其 CREATESTRUCT 参数的hMenu成员添加到 this 指针,如果菜单是 NULL,并且该样式包含 WS_CHILD。对于相应的功能,请确保不是 NULL的对话框控件具有ID。

此更改修复跨托管/本机互操作方案的一失败。在 CWnd::Create 警报的一个 TRACE 语句问题的开发人员。

使用 AfxRegisterWndClass 功能对"寄存器"窗口选件类。用户定义的windows选件类可用在注册的模块。

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