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 中的對話框一文。
繼承階層架構
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 結構。