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


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