分享方式:


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 類別