共用方式為


OleUIPasteSpecialW 函式 (oledlg.h)

叫用標準 [貼上特殊] 對話框,讓用戶選取要貼上或貼上連結的剪貼簿物件格式。

語法

UINT OleUIPasteSpecialW(
  [in] LPOLEUIPASTESPECIALW unnamedParam1
);

參數

[in] unnamedParam1

OLEUIPASTESPECIAL 結構的指標。

傳回值

標準成功/錯誤定義

傳回碼 描述
OLEUI_FALSE
未知的失敗(未使用)。
OLEUI_OK
使用者按下 [確定] 按鈕。
OLEUI_SUCCESS
沒有錯誤,與OLEUI_OK相同。
OLEUI_CANCEL
使用者按下 [取消] 按鈕。
 

標準欄位驗證錯誤

傳回碼 描述
OLEUI_ERR_STANDARDMIN
所有對話框常見的錯誤位於範圍OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX。 此值可讓應用程式測試標準訊息,以便向用戶顯示錯誤訊息。
OLEUI_ERR_STRUCTURENULL
傳遞至函式的 OLEUIXXX 結構的指標 NULL
OLEUI_ERR_STRUCTUREINVALID
OLEUIXXX 結構的讀取或寫入許可權不足。
OLEUI_ERR_CBSTRUCTINCORRECT
cbstruct 值不正確。
OLEUI_ERR_HWNDOWNERINVALID
hWndOwner 值無效。
OLEUI_ERR_LPSZCAPTIONINVALID
lpszCaption 值無效。
OLEUI_ERR_LPFNHOOKINVALID
lpfnHook 值無效。
OLEUI_ERR_HINSTANCEINVALID
hInstance 值無效。
OLEUI_ERR_LPSZTEMPLATEINVALID
lpszTemplate 值無效。
OLEUI_ERR_HRESOURCEINVALID
hResource 值無效。
 

初始化錯誤

傳回碼 描述
OLEUI_ERR_FINDTEMPLATEFAILURE
找不到對話框範本。
OLEUI_ERR_LOADTEMPLATEFAILURE
無法載入對話框範本。
OLEUI_ERR_DIALOGFAILURE
對話框初始化失敗。
OLEUI_ERR_LOCALMEMALLOC
呼叫 LocalAlloc 或標準 IMalloc 配置器失敗。
OLEUI_ERR_GLOBALMEMALLOC
呼叫 globalAlloc 或標準 IMalloc 配置器失敗。
OLEUI_ERR_LOADSTRING
無法呼叫 LoadString 從連結庫取得本地化的資源。
OLEUI_ERR_OLEMEMALLOC
呼叫標準 IMalloc 配置器失敗。
 

函式特定錯誤

傳回碼 描述
OLEUI_ERR_STANDARDMAX
所有對話框常見的錯誤位於範圍OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX。 此值可讓應用程式測試標準訊息,以便向用戶顯示錯誤訊息。
OLEUI_IOERR_SRCDATAOBJECTINVALID
lpSrcDataObjectOLEUIPASTESPECIAL 的成員無效。
OLEUI_IOERR_ARRPASTEENTRIESINVALID
arrPasteEntriesOLEUIPASTESPECIAL 的成員無效。
OLEUI_IOERR_ARRLINKTYPESINVALID
arrLinkTypesOLEUIPASTESPECIAL 的成員無效。
OLEUI_PSERR_CLIPBOARDCHANGED
顯示對話框時,剪貼簿內容已變更。
OLEUI_PSERR_GETCLIPBOAARDFAILED

lpSrcDataObj 成員不正確。

言論

[貼上特殊] 對話框的設計假設,如果您願意允許使用者連結至物件,您也願意允許使用者內嵌該物件。 因此,如果已設定任何與 OLEUIPASTEFLAG 相關聯的OLEUIPASTE_LINKTYPE旗標 列舉,則也必須設定OLEUIPASTE_PASTE旗標,數據格式才能出現在 [[貼上特殊] 對話框中。

標準 [貼上特殊] 對話方塊之 [Source] 字段中顯示的文字,Oledlg32.dll是在要貼上物件的 dwSrcofCop y 中指定位移的 null 終止字符串,OBJECTDESCRIPTOR 結構的成員。 如果這個物件無法使用 OBJECTDESCRIPTOR 結構,對話框會顯示任何可能與CF_LINKSOURCEDESCRIPTOR相關聯的文字。 如果兩個結構都無法使用,對話框會尋找CF_FILENAME。 如果找不到CF_FILENAME,對話框會顯示字串 「Unknown Source」。。

若要釋放從 [插入物件] 或 [貼上特殊] 對話框傳回的 HMETAFILEPICT,請刪除句柄上的附加元檔,如下所示。

void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
    if (hmfp != NULL)
    {
        LPMETAFILEPICT pmfp = GlobalLock(hmfp);
 
        DeleteMetaFile(pmfp->hMF);
        GlobalUnlock(hmfp);
        GlobalFree(hmfp);
    }
    else
    {
        // Handle null pointers here.
        exit(0);
    }
}

注意

oledlg.h 標頭會根據 UNICODE 預處理器常數的定義,將 OLEUIPASTESPECIAL 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 oledlg.h
連結庫 OleDlg.lib
DLL OleDlg.dll

另請參閱

OLEUIPASTEFLAG