共用方式為


OleUIPasteSpecialW 函式 (oledlg.h)

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

語法

UINT OleUIPasteSpecialW(
  [in] LPOLEUIPASTESPECIALW unnamedParam1
);

參數

[in] unnamedParam1

OLEUIPASTESPECIAL 結構的指標。

傳回值

標準成功/錯誤定義

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

標準欄位驗證錯誤

傳回碼 Description
OLEUI_ERR_STANDARDMIN
所有對話框的常見錯誤都位於OLEUI_ERR_STANDARDMAX的範圍OLEUI_ERR_STANDARDMIN。 此值可讓應用程式測試標準訊息,以便向用戶顯示錯誤訊息。
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 值無效。
 

初始化錯誤

傳回碼 Description
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 配置器的呼叫失敗。
 

函式特定錯誤

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

lpSrcDataObj 成員不正確。

備註

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

標準 [貼上特殊] 對話方塊的 [來源] 欄位中顯示的文字,此對話方塊是在 Oledlg32.dll 中實作的 null 終止字元串,其位移以位元組為單位的字串是在 OBJECTDESCRIPTOR 結構的 dwSrcofCopy 成員中指定,以便貼上物件。 如果此對象無法使用 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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 oledlg.h
程式庫 OleDlg.lib
Dll OleDlg.dll

另請參閱

OLEUIPASTEFLAG