共用方式為


OLEUIPASTESPECIALW 結構 (oledlg.h)

包含 OLE 使用者介面連結庫用來初始化 [ 貼上特殊] 對話框的資訊,以及關閉對話框時連結庫傳回信息的空間。

語法

typedef struct tagOLEUIPASTESPECIALW {
  DWORD              cbStruct;
  DWORD              dwFlags;
  HWND               hWndOwner;
  LPCWSTR            lpszCaption;
  LPFNOLEUIHOOK      lpfnHook;
  LPARAM             lCustData;
  HINSTANCE          hInstance;
  LPCWSTR            lpszTemplate;
  HRSRC              hResource;
  LPDATAOBJECT       lpSrcDataObj;
  LPOLEUIPASTEENTRYW arrPasteEntries;
  int                cPasteEntries;
  UINT               *arrLinkTypes;
  int                cLinkTypes;
  UINT               cClsidExclude;
  LPCLSID            lpClsidExclude;
  int                nSelectedIndex;
  BOOL               fLink;
  HGLOBAL            hMetaPict;
  SIZEL              sizel;
} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;

成員

cbStruct

結構的大小,以位元組為單位。 此成員必須在輸入時填入。

dwFlags

在輸入時, dwFlags 會指定初始化和建立旗標。 結束時,它會指定用戶的選擇。 它可能是下列旗標的組合。

意義
PSF_SHOWHELP
對話框會顯示 [ 說明 ] 按鈕。
PSF_SELECTPASTE
[ 貼上 ] 單選按鈕將會在對話框啟動時選取。 如果未指定PSF_SELECTPASTE或PSF_SELECTPASTELINK,這是預設值。 此外,它會指定對話框終止時按鈕的狀態。 IN/OUT 旗標。
PSF_SELECTPASTELINK
[ 貼上連結 ] 單選按鈕將會在對話框啟動時選取。 此外,指定對話框終止時按鈕的狀態。 IN/OUT 旗標。
PSF_CHECKDISPLAYASICON
是否在對話框終止時核取 [ 顯示為圖示 ] 單選按鈕。 OUT 旗標。
PSF_DISABLEDISPLAYASICON
初始化時將會停用 [ 顯示為圖示 ] 複選框。
HIDECHANGEICON
用來停用對話框中的變更圖示按鈕,當用戶默認貼上 OLE 物件時,可以使用該按鈕。 否則 請參閱 STAYONCLIPBOARDCHANGE
STAYONCLIPBOARDCHANGE
用來告知對話框是否在對話框啟動時變更剪貼簿。 如果使用者切換至另一個應用程式並複製或剪下某些專案,則對話框預設會執行取消作業,這會移除對話框,因為呈現給使用者的選項已不再為剪貼簿上真正內容的最新狀態。
NOREFRESHDATAOBJECT
STAYONCLIPBOARDCHANGE 搭配使用, (它不會執行任何其他) 。 如果在對話框啟動且指定 了 STAYONCLIPBOARDCHANGE 時變更剪貼簿, 則 NOREFRESHDATAOBJECT 表示對話框不應重新整理對話框的內容,以反映剪貼簿的新內容。 如果應用程式在剪貼簿上的 IDataObject 上使用貼上特殊對話方塊,例如,當做滑鼠右鍵拖放作業的一部分時,這會很有用。

hWndOwner

擁有對話框的視窗。 此成員不應為 NULL

lpszCaption

要當做對話框標題之字串的指標。 如果為 NULL,則連結庫會使用 [貼上特殊]。

lpfnHook

攔截函式的指標,此函式會處理用於對話框的訊息。 攔截函式必須傳回零,才能將它未處理的訊息傳回連結庫中的對話框程式。 攔截函式必須傳回非零值,以防止連結庫的對話框程式處理已經處理的訊息。

lCustData

連結庫傳遞給 lpfnHook 成員所指向之攔截函式的應用程式定義數據。 連結庫會在WM_INITDIALOG訊息的 lParam 參數中傳遞 OLEUIPASTESPECIAL 結構的指標;這個指標可用來擷取 lCustData 成員。

hInstance

實例,其中包含 由 lpTemplateName 成員指定的對話框範本。

lpszTemplate

Null 終止字串的指標,指定要取代連結庫之 [貼上特殊] 對話框範本之對話框範本之資源檔的名稱。

hResource

自定義範本句柄。

lpSrcDataObj

要從剪貼簿貼上 (之數據物件的 IDataObject 介面指標) 。 此成員會在輸入時填入。 如果在呼叫 OleUIPasteSpeciallpSrcDataObjNULL則 OleUIPasteSpecial 會嘗試從剪貼簿擷取 IDataObject 的指標。 如果 OleUIPasteSpecial 成功,呼叫者必須負責釋放在 lpSrcDataObj 中傳回的 IDataObject

arrPasteEntries

指定可接受的格式的 OLEUIPASTEENTRY 陣列。 此成員會在輸入時填入。

cPasteEntries

OLEUIPASTEENTRY 陣列項目的數目。 此成員會在輸入時填入。

arrLinkTypes

可接受的連結類型清單。 連結類型在arrPasteEntries中使用 OLEUIPASTEFLAG 來參考。 此成員會在輸入時填入。

cLinkTypes

連結類型的數目。 此成員會在輸入時填入。

cClsidExclude

lpClsidExclude 中的 CLSID 數目。 此成員會在輸入時填入。

lpClsidExclude

要從 [貼上] 作業之可用伺服器物件清單中排除之 CLSID 陣列的指標。 請注意,這不會影響 貼上連結。 應用程式可以藉由在此清單中列出自己的CLSID來防止內嵌到本身。 此欄位會填入輸入。

nSelectedIndex

用戶選取的 arrPasteEntries 索引。 此成員會在輸出時填入。

fLink

使用者是否已選取 [貼上 ] 或 [ 貼上連結 ]。 此成員會在輸出時填入。

hMetaPict

處理包含使用者所選取圖示和圖示標題的元檔。 此成員會在輸出時填入。

sizel

如果使用者選擇的顯示外觀符合來源中顯示的外觀,則為物件的大小。 如果用戶選擇不同的層面, 則 sizel.cxsizel.cy 都設定為零。 如果 fLinkFALSE ,則會從來源中顯示的物件大小擷取自 ObjectDescriptor,如果 fLinkTRUE,則從 LinkSrcDescriptor 擷取。 此成員會在輸出時填入。

備註

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 oledlg.h

另請參閱

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial