CDialog::Create

使用从资源,创建一个对话框模板调用 Create 创建无模式对话框。

virtual BOOL Create(
   LPCTSTR lpszTemplateName,
   CWnd* pParentWnd = NULL 
);
virtual BOOL Create(
   UINT nIDTemplate,
   CWnd* pParentWnd = NULL 
);

参数

  • lpszTemplateName
    包含是对话框模板资源的名称为Null终止的字符串。

  • pParentWnd
    指向父窗口对象(类型 CWnd)对话框对象属于。如果是 NULL,对话框对象的父窗口设置为主应用程序窗口。

  • nIDTemplate
    包含对话框模板资源的ID号。

返回值

如果对话框创建和初始化成功,两种形式返回非零;否则为0。

备注

构造函数调用之后,可以将调入在构造函数中的 Create 或调用它。

Create 成员函数的两种形式提供访问对话框模板资源的访问由模板名称或模板ID号(例如,IDD_DIALOG1)。

对于任何窗体中,通过指向父窗口对象。如果 pParentWnd 是 NULL,对话框将其父或所有者窗口将创建一组为主应用程序窗口。

然后再创建对话框之后,Create 成员函数返回。

请使用 WS_VISIBLE 样式在对话框模板,如果对话框应显示父窗口中创建。否则,必须调用 ShowWindow。有关进一步的对话框样式和它们的应用程序,请参见。Windows SDK 和 窗口样式DLGTEMPLATE 结构" MFC参考

使用 CWnd::DestroyWindow 功能销毁 Create 功能创建的对话框。

示例

void CMyDialog::OnMenuShowSimpleDialog()
{
   //m_pSimpleDialog initialized to NULL in the constructor of CMyDialog class
   m_pSimpleDlg = new CSimpleDlg();
   //Check if new succeeded and we got a valid pointer to a dialog object
   if(m_pSimpleDlg != NULL)
   {
      BOOL ret = m_pSimpleDlg->Create(IDD_SIMPLEDIALOG, this);

      if(!ret)   //Create failed.
         AfxMessageBox(_T("Error creating Dialog"));

      m_pSimpleDlg->ShowWindow(SW_SHOW);
   }
   else
   {
      AfxMessageBox(_T("Error Creating Dialog Object"));
   }
}

要求

Header: afxwin.h

请参见

参考

CDialog选件类

层次结构图

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog