CDialog::InitModalIndirect

调用该成员函数初始化一个模式对话框对象使用对话框模板要在内存中构造。

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

参数

  • lpDialogTemplate
    指向包含一些一个对话框模板创建对话框的内存。 在 DLGTEMPLATE 结构和控件信息的形式,此模板是,如 Windows SDK所述。

  • hDialogTemplate
    包含的句柄。包含对话框模板的全局内存。 此模板与 DLGTEMPLATE 结构和数据的形式为每个控件在对话框。

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

  • lpDialogInit
    指向 DLGINIT 资源。

返回值

非零,如果对话框已成功创建对象并初始化为;否则为0。

备注

若要取消创建一个模式对话框,请首先分配全局内存块并在对话框模板加载它。 然后调用空 CDialog 构造函数构造对话框对象。 接下来,调用 InitModalIndirect 存储您的句柄内存对话框模板。 当 DoModal 成员函数调用时,Windows对话框之后创建并显示。

包含ActiveX控件的对话框需要在 DLGINIT 资源提供的附加信息。 有关更多信息,请参见知识库文章Q231591,“如何:使用一个对话框模板将ActiveX控件创建MFC对话框”。知识库文章可以在 MSDN Library Visual Studio 文档中或从 https://support.microsoft.com/default.aspx?ln=zh-cn 上获得。

要求

Header: afxwin.h

请参见

参考

CDialog Class

层次结构图

DialogBoxIndirect

CDialog::DoModal

CWnd::DestroyWindow

CDialog::CDialog