Поделиться через


CDialog::Create

Вызовите Создать для создания безрежимного диалогового окна с помощью шаблона диалогового окна из ресурса.

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

Параметры

  • lpszTemplateName
    Содержит null- завершенную строку, имя ресурса шаблона диалогового окна.

  • pParentWnd
    Элементы родительского окна объект () типа CWnd к которому принадлежит объект диалогового окна.Если это NULL, родительское окно объекта диалогового окна установлено в главное окно приложения.

  • nIDTemplate
    Содержит идентификатор ресурса шаблона диалогового окна.

Возвращаемое значение

Обе формы возвращают ненулевое значение, если создание и инициализация диалогового окна выполнены успешно; в противном случае – значение 0.

Заметки

Можно поместить вызов Создать внутри конструктора или вызывать его после того как вызывается конструктор.

2 Формы функции-члена Создать предоставляются для доступа к ресурсу шаблона диалогового окна любым по идентификатору имени шаблона или шаблона (например, IDD_DIALOG1).

Для любой формы, передайте указатель объекту родительского окна.Если pParentWndNULL, то диалоговое окно будет создано при его родителя или владельцем окно задано в главное окно приложения.

Функция-член Создать возвращается сразу же после его создания диалоговое окно.

Используйте стиль WS_VISIBLE в шаблоне диалогового окна, если диалоговое окно должно отображается, если родительское окно создано.В противном случае необходимо вызвать ShowWindow.Для последующих стилей диалогового окна и их приложений см. в разделе макет DLGTEMPLATE в Windows SDK и стили окна в справочнике по MFC.

Используйте функцию CWnd::DestroyWindow для уничтожения диалоговое окно Создать созданное функцией.

Пример

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