共用方式為


COleInsertDialog 類別

用於 OLE 的 [插入物件] 對話方塊。

語法

class COleInsertDialog : public COleDialog

成員

公用建構函式

名稱 描述
COleInsertDialog::COleInsertDialog 建構 COleInsertDialog 物件。

公用方法

名稱 描述
COleInsertDialog::CreateItem 建立對話方塊中選取的專案。
COleInsertDialog::D oModal 顯示 [OLE 插入物件] 對話方塊。
COleInsertDialog::GetClassID 取得與所選項目相關聯的 CLSID。
COleInsertDialog::GetDrawAspect 告知是否要將專案繪製為圖示。
COleInsertDialog::GetIconicMetafile 取得與這個專案之圖示形式相關聯的中繼檔控制碼。
COleInsertDialog::GetPathName 取得對話方塊中所選檔案的完整路徑。
COleInsertDialog::GetSelectionType 取得選取的物件類型。

公用資料成員

名稱 描述
COleInsertDialog::m_io OLEUIINSERTOBJECT 類型的結構,可控制對話方塊的行為。

備註

當您要呼叫此對話方塊時,請建立 類別 COleInsertDialog 的物件。 COleInsertDialog建構 物件之後,您可以使用 m_io 結構來初始化對話方塊中控制項的值或狀態。 結構 m_io 的類型為 OLEUIINSERTOBJECT。 如需使用此對話方塊類別的詳細資訊,請參閱 DoModal 成員函式。

注意

應用程式精靈產生的容器程式碼會使用此類別。

如需詳細資訊,請參閱 Windows SDK 中的 OLEUIINSERTOBJECT 結構。

如需 OLE 特定對話方塊的詳細資訊,請參閱 OLE 中的對話方塊一文

繼承階層架構

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COleInsertDialog

需求

標頭: afxodlgs.h

COleInsertDialog::COleInsertDialog

此函式只會 COleInsertDialog 建構 物件。

COleInsertDialog (
    DWORD dwFlags = IOF_SELECTCREATENEW,
    CWnd* pParentWnd = NULL);

參數

dwFlags
建立旗標,其中包含使用 bitwise-OR 運算子合併的下列任何數目值:

  • IOF_SHOWHELP 指定呼叫對話方塊時,會顯示 [說明] 按鈕。

  • IOF_SELECTCREATENEW 指定呼叫對話方塊時,一開始會選取 [建立新] 選項按鈕。 這是預設值,無法與IOF_SELECTCREATEFROMFILE搭配使用。

  • IOF_SELECTCREATEFROMFILE 指定呼叫對話方塊時,一開始會選取 [從檔案建立] 選項按鈕。 無法與IOF_SELECTCREATENEW搭配使用。

  • IOF_CHECKLINK 指定呼叫對話方塊時,一開始會核取 [連結] 核取方塊。

  • IOF_DISABLELINK 指定呼叫對話方塊時,將會停用 [連結] 核取方塊。

  • IOF_CHECKDISPLAYASICON 指定一開始會核取 [顯示為圖示] 核取方塊、顯示目前的圖示,並在呼叫對話方塊時啟用 [變更圖示] 按鈕。

  • IOF_VERIFYSERVERSEXIST 指定對話方塊應該驗證它新增至清單方塊的類別,方法是確保登錄資料庫中指定的伺服器在對話方塊顯示之前存在。 設定此旗標可能會大幅降低效能。

pParentWnd
指向對話方塊物件所屬的父視窗物件或擁有者視窗物件(屬於 類型 CWnd )。 如果是 Null,則對話方塊物件的父視窗會設定為主要應用程式視窗。

備註

若要顯示對話方塊,請呼叫 DoModal 函 式。

COleInsertDialog::CreateItem

只有在 DoModal 傳回 IDOK 時 ,才呼叫此函式來建立 COleClientItem 類型的 物件。

BOOL CreateItem(COleClientItem* pItem);

參數

pItem
指向要建立的專案。

傳回值

如果已建立專案,則為非零;否則為 0。

備註

您必須先配置 物件, COleClientItem 才能呼叫此函式。

COleInsertDialog::D oModal

呼叫此函式以顯示 [OLE 插入物件] 對話方塊。

virtual INT_PTR
    DoModal();

INT_PTR
    DoModal(DWORD  dwFlags);

參數

dwFlags
下列其中一個值:

COleInsertDialog::DocObjectsOnly 只插入 DocObjects。

COleInsertDialog::ControlsOnly 只插入 ActiveX 控制項。

零不會插入 DocObject 或 ActiveX 控制項。 此值會產生與上述第一個原型相同的實作。

傳回值

對話方塊的完成狀態。 下列其中一個值:

  • 如果對話方塊已成功顯示,則為 IDOK。

  • 如果使用者取消對話方塊,IDCANCEL。

  • 如果發生錯誤,則為 IDABORT。 如果傳回 IDABORT,請呼叫 COleDialog::GetLastError 成員函式,以取得所發生錯誤類型的詳細資訊。 如需可能錯誤的清單,請參閱 Windows SDK 中的 OleUIInsertObject 函式。

備註

如果您想要藉由設定m_io 結構的成員 來初始化各種對話方塊控制項,您應該先執行此動作,再呼叫 DoModal ,但在建構對話方塊物件之後。

如果 DoModal 傳回 IDOK,您可以呼叫其他成員函式,由使用者擷取對話方塊中的設定或資訊輸入。

COleInsertDialog::GetClassID

呼叫此函式,只有在 DoModal 傳回 IDOK 且選取類型為 COleInsertDialog::createNewItem ,才會取得與選取專案相關聯的 CLSID。

REFCLSID GetClassID() const;

傳回值

傳回與選取專案相關聯的 CLSID。

備註

如需詳細資訊,請參閱 Windows SDK 中的 CLSID 金鑰

COleInsertDialog::GetDrawAspect

呼叫此函式,以判斷使用者是否選擇將選取的專案顯示為圖示。

DVASPECT GetDrawAspect() const;

傳回值

轉譯物件所需的方法。

  • DVASPECT_CONTENT如果未核取 [顯示為圖示] 核取方塊,則會傳回 。

  • 如果核取 [顯示為圖示] 核取方塊,則會傳回DVASPECT_ICON 。

備註

只有在 DoModal 傳回 IDOK 時 ,才呼叫此函式。

如需繪圖層面的詳細資訊,請參閱 Windows SDK 中的 FORMATETC 資料結構。

COleInsertDialog::GetIconicMetafile

呼叫此函式,以取得包含所選項目之圖示層面的中繼檔控制碼。

HGLOBAL GetIconicMetafile() const;

傳回值

如果選取 的對話方塊關閉時已核取 [顯示為圖示] 核取方塊,則為包含所選項目的圖示層面之中繼檔控制碼,否則為 Null。

COleInsertDialog::GetPathName

呼叫此函式,只有在 DoModal 傳回 IDOK 且選取類型不是 COleInsertDialog::createNewItem ,才能取得選取檔案的完整路徑。

CString GetPathName() const;

傳回值

對話方塊中選取之檔案的完整路徑。 如果選取類型為 createNewItem ,則此函式會在發行模式中傳回無 CString 意義,或在偵錯模式中造成判斷提示。

COleInsertDialog::GetSelectionType

呼叫此函式,以取得選擇 [ 插入 物件] 對話方塊關閉時選擇的選取類型。

UINT GetSelectionType() const;

傳回值

所做的選取類型。

備註

傳回型別值是由 Selection 類別中宣告的 COleInsertDialog 列舉型別所指定。

enum Selection {
    createNewItem,
    insertFromFile,
    linkToFile
    };

這些值的簡短描述如下:

  • COleInsertDialog::createNewItem 已選取 [建立新] 選項按鈕。

  • COleInsertDialog::insertFromFile 已選取 [從檔案建立] 選項按鈕,且未核取 [連結] 核取方塊。

  • COleInsertDialog::linkToFile 已選取 [從檔案建立] 選項按鈕,並核取 [連結] 核取方塊。

COleInsertDialog::m_io

OLEUIINSERTOBJECT 類型的結構,用來控制 [插入物件] 對話方塊的行為。

OLEUIINSERTOBJECT m_io;

備註

您可以直接或透過成員函式來修改這個結構的成員。

如需詳細資訊,請參閱 Windows SDK 中的 OLEUIINSERTOBJECT 結構。

另請參閱

MFC 範例 OCLIENT
COleDialog 類別
階層架構圖表
COleDialog 類別