共用方式為


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 讓它出現在中。 如需如何使用的詳細資訊包含在範本中指定其他對話方塊樣式,請參閱 Windows SDK的 DLGTEMPLATE 結構。

使用 CWnd::DestroyWindow 函式終結 CreateIndirect 函式建立的對話方塊。

包含 ActiveX 控制項的對話方塊會要求在 DLGINIT 資源提供的額外資訊。 如需詳細資訊,請參閱知識庫文件 Q231591 「, HOWTO:使用對話方塊範本建立 ActiveX 控制項的 MFC 對話方塊」。您可以在 MSDN Library 的 Visual Studio 文件或 https://support.microsoft.com 中找到知識庫文件。

需求

Header: afxwin.h

請參閱

參考

CDialog 類別

階層架構圖

CDialog::CDialog

CWnd::DestroyWindow

CDialog::Create

CreateDialogIndirect