共用方式為


COlePasteSpecialDialog 類別

用於 OLE 的 [選擇性貼上] 對話方塊。

語法

class COlePasteSpecialDialog : public COleDialog

成員

公用建構函式

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

公用方法

名稱 描述
COlePasteSpecialDialog::AddFormat 將自訂格式新增至應用程式可貼上的格式清單。
COlePasteSpecialDialog::AddLinkEntry 將新專案新增至支援的剪貼簿格式清單。
COlePasteSpecialDialog::AddStandardFormats 將CF_BITMAP、CF_DIB、CF_METAFILEPICT,以及選擇性地CF_LINKSOURCE新增至應用程式可以貼上的格式清單。
COlePasteSpecialDialog::CreateItem 使用指定的格式,在容器檔案中建立專案。
COlePasteSpecialDialog::D oModal 顯示 [OLE 貼上特殊] 對話方塊。
COlePasteSpecialDialog::GetDrawAspect 指出是否要將專案繪製為圖示。
COlePasteSpecialDialog::GetIconicMetafile 取得與這個專案之圖示形式相關聯的中繼檔控制碼。
COlePasteSpecialDialog::GetPasteIndex 取得使用者所選可用貼上選項的索引。
COlePasteSpecialDialog::GetSelectionType 取得選擇的選取類型。

公用資料成員

名稱 描述
COlePasteSpecialDialog::m_ps OLEUIPASTESPECIAL 類型的結構,可控制對話方塊的函式。

備註

當您要呼叫此對話方塊時,請建立 類別 COlePasteSpecialDialog 的物件。 COlePasteSpecialDialog建構物件之後,您可以使用 AddFormat 和 AddStandardFormats 成員函式,將剪貼簿格式新增至對話方塊。 您也可以使用 m_ps 結構來初始化對話方塊中控制項的值或狀態。 結構 m_ps 的類型為 OLEUIPASTESPECIAL。

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

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

繼承階層架構

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COlePasteSpecialDialog

需求

標頭: afxodlgs.h

COlePasteSpecialDialog::AddFormat

呼叫此函式,將新的格式新增至應用程式可在 [貼上特殊] 作業中支援的格式清單。

void AddFormat(
    const FORMATETC& formatEtc,
    LPTSTR lpszFormat,
    LPTSTR lpszResult,
    DWORD flags);

void AddFormat(
    UINT cf,
    DWORD tymed,
    UINT nFormatID,
    BOOL bEnableIcon,
    BOOL bLink);

參數

Fmt
要加入之資料類型的參考。

lpszFormat
描述使用者格式的字串。

lpszResult
在對話方塊中選擇此格式時描述結果的字串。

flags
此格式可用的不同連結和內嵌選項。 這個旗標是 OLEUIPASTEFLAG 列舉型別中一或多個不同值的位元組合。

Cf
要新增的剪貼簿格式。

tymed
此格式可用的媒體類型。 這是 TYMED 列舉型別中一或多個值的位元組合。

nFormatID
識別此格式之字串的識別碼。 此字串的格式是兩個不同的字串,並以 '\n' 字元分隔。 第一個字串與在 lpstrFormat 參數中 傳遞的字串相同,而第二個字串與 lpstrResult 參數相同

bEnableIcon
旗標,決定在清單方塊中選擇此格式時,是否啟用 [顯示身分圖示] 核取方塊。

眨眼
旗標,決定在清單方塊中選擇此格式時,是否啟用 [貼上連結] 選項按鈕。

備註

您可以呼叫此函式來新增標準格式,例如CF_TEXT或CF_TIFF或應用程式向系統註冊的自訂格式。 如需將資料物件貼入應用程式的詳細資訊,請參閱資料物件和資料來源:操作 一文

如需詳細資訊,請參閱 Windows SDK 中的 TYMED 列舉類型和 FORMATETC 結構。

如需詳細資訊,請參閱 Windows SDK 中的 OLEUIPASTEFLAG 列舉類型。

COlePasteSpecialDialog::AddLinkEntry

將新專案新增至支援的剪貼簿格式清單。

OLEUIPASTEFLAG AddLinkEntry(UINT cf);

參數

Cf
要新增的剪貼簿格式。

傳回值

包含 新連結專案資訊的 OLEUIPASTEFLAG 結構。

COlePasteSpecialDialog::AddStandardFormats

呼叫此函式,將下列剪貼簿格式新增至應用程式可在 [貼上特殊] 作業中支援的格式清單:

void AddStandardFormats(BOOL bEnableLink = TRUE);

參數

bEnableLink
旗標,判斷是否要將CF_LINKSOURCE新增至應用程式可以貼上的格式清單。

備註

  • CF_BITMAP

  • CF_DIB

  • CF_METAFILEPICT

  • 「Embedded 物件」

  • (選擇性) 連結來源」

這些格式可用來支援內嵌和連結。

COlePasteSpecialDialog::COlePasteSpecialDialog

建構 COlePasteSpecialDialog 物件。

COlePasteSpecialDialog(
    DWORD dwFlags = PSF_SELECTPASTE,
    COleDataObject* pDataObject = NULL,
    CWnd* pParentWnd = NULL);

參數

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

  • PSF_SELECTPASTE 指定呼叫對話方塊時,一開始會核取 [貼上] 選項按鈕。 無法與PSF_SELECTPASTELINK搭配使用。 這是預設值。

  • PSF_SELECTPASTELINK 指定呼叫對話方塊時,一開始會核取 [貼上連結] 選項按鈕。 無法與PSF_SELECTPASTE搭配使用。

  • PSF_CHECKDISPLAYASICON 指定呼叫對話方塊時,一開始會核取 [顯示為圖示] 核取方塊。

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

pDataObject
指向要貼上的 COleDataObject 。 如果此值為 Null,則會從剪貼簿取得 COleDataObject

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

備註

此函式只會建構 COlePasteSpecialDialog 物件。 若要顯示對話方塊,請呼叫 DoModal 函 式。

如需詳細資訊,請參閱 Windows SDK 中的 OLEUIPASTEFLAG 列舉類型。

COlePasteSpecialDialog::CreateItem

建立 [貼上特殊專案] 對話方塊中選擇的新專案。

BOOL CreateItem(COleClientItem* pNewItem);

參數

pNewItem
COleClientItem指向 實例。 不可以是 NULL。

傳回值

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

備註

只有在 DoModal 傳回 IDOK 之後 ,才應該呼叫此函式。

COlePasteSpecialDialog::D oModal

顯示 [OLE 貼上特殊] 對話方塊。

virtual INT_PTR DoModal();

傳回值

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

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

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

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

備註

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

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

COlePasteSpecialDialog::GetDrawAspect

判斷使用者是否選擇將選取的專案顯示為圖示。

DVASPECT GetDrawAspect() const;

傳回值

轉譯物件所需的方法。

  • DVASPECT_CONTENT如果對話方塊關閉時未核取 [顯示為圖示] 核取方塊,則傳回 。

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

備註

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

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

COlePasteSpecialDialog::GetIconicMetafile

取得與使用者選取之專案相關聯的中繼檔。

HGLOBAL GetIconicMetafile() const;

傳回值

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

COlePasteSpecialDialog::GetPasteIndex

取得與使用者選取之專案相關聯的索引值。

int GetPasteIndex() const;

傳回值

使用者所選取結構陣列中的 OLEUIPASTEENTRY 索引。 執行貼上作業時,應該使用對應至所選索引的格式。

備註

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

COlePasteSpecialDialog::GetSelectionType

決定使用者所做的選取類型。

UINT GetSelectionType() const;

傳回值

傳回所建立之選取範圍的型別。

備註

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

enum Selection {
    pasteLink,
    pasteNormal,
    pasteOther,
    pasteStatic
    };

這些值的簡短描述如下:

  • COlePasteSpecialDialog::pasteLink 已核取 [貼上連結] 選項按鈕,而選擇的格式是標準 OLE 格式。

  • COlePasteSpecialDialog::pasteNormal 已核取 [貼上] 選項按鈕,而選擇的格式為標準 OLE 格式。

  • COlePasteSpecialDialog::pasteOther 選取的格式不是標準 OLE 格式。

  • COlePasteSpecialDialog::pasteStatic 選擇的格式是中繼檔。

COlePasteSpecialDialog::m_ps

OLEUIPASTESPECIAL 類型的結構,用來控制 [貼上特殊] 對話方塊的行為。

OLEUIPASTESPECIAL m_ps;

備註

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

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

另請參閱

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