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