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 中的對話方塊一文 。
繼承階層架構
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 結構。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應