CDialog::CreateIndirect

Эта функция-член вызывается с целью создания безрежимного диалогового окна из шаблона диалоговых окон в памяти.

virtual BOOL CreateIndirect(
   LPCDLGTEMPLATE lpDialogTemplate,
   CWnd* pParentWnd = NULL,
   void* lpDialogInit = NULL
);
virtual BOOL CreateIndirect(
   HGLOBAL hDialogTemplate,
   CWnd* pParentWnd = NULL
);

Параметры

  • lpDialogTemplate
    Указатель на область памяти, которая содержит шаблон диалогового окна, используемый для создания диалогового окна.Этот шаблон в форме макета и управляющей сведения DLGTEMPLATE, как описано в Windows SDK.

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

  • lpDialogInit
    Указывает на ресурс DLGINIT .

  • hDialogTemplate
    Содержит дескриптор к глобальной памяти, содержащий шаблон диалогового окна.Этот шаблон в форме макета и данных DLGTEMPLATE для каждого элемента управления в диалоговом окне.

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

Ненулевой если диалоговое окно было создано и было успешно; инициализируется в противном случае – значение 0.

Заметки

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

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

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

Диалоговые окна, которые содержат элементы управления ActiveX, требуют дополнительной информации, предоставляемой в ресурсе DLGINIT .Дополнительные сведения см. в статье базы знаний Q231591 "практическое руководство: Использование шаблона диалоговых окон для создания диалоговое окно MFC с элементом управления ActiveX". Статьи базы данных Майкрософт доступны в документации по Visual Studio библиотеки MSDN либо по адресу https://support.microsoft.com.

Требования

Header: afxwin.h

См. также

Ссылки

Класс CDialog

Диаграмма иерархии

CDialog::CDialog

CWnd::DestroyWindow

CDialog::Create

CreateDialogIndirect