共用方式為


OLEUIPASTESPECIALA 結構 (oledlg.h)

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

語法

typedef struct tagOLEUIPASTESPECIALA {
  DWORD              cbStruct;
  DWORD              dwFlags;
  HWND               hWndOwner;
  LPCSTR             lpszCaption;
  LPFNOLEUIHOOK      lpfnHook;
  LPARAM             lCustData;
  HINSTANCE          hInstance;
  LPCSTR             lpszTemplate;
  HRSRC              hResource;
  LPDATAOBJECT       lpSrcDataObj;
  LPOLEUIPASTEENTRYA arrPasteEntries;
  int                cPasteEntries;
  UINT               *arrLinkTypes;
  int                cLinkTypes;
  UINT               cClsidExclude;
  LPCLSID            lpClsidExclude;
  int                nSelectedIndex;
  BOOL               fLink;
  HGLOBAL            hMetaPict;
  SIZEL              sizel;
} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;

成員

cbStruct

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

dwFlags

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

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

hWndOwner

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

lpszCaption

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

lpfnHook

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

lCustData

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

hInstance

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

lpszTemplate

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

hResource

自定義範本句柄。

lpSrcDataObj

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

arrPasteEntries

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

cPasteEntries

OLEUIPASTEENTRY 陣列專案的數目。 此成員會填入輸入。

arrLinkTypes

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

cLinkTypes

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

cClsidExclude

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

lpClsidExclude

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

nSelectedIndex

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

fLink

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

hMetaPict

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

sizel

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

言論

注意

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

要求

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

另請參閱

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial