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 會指定初始化和建立旗標。 在結束時,它會指定用戶的選擇。 這可能是下列旗標的組合。
價值 | 意義 |
---|---|
|
對話框會顯示 [說明] 按鈕 |
|
在對話框啟動時,將會選取 [貼上] 單選按鈕 |
|
PasteLink 單選按鈕將會在對話框啟動時選取。 此外,指定對話框終止時按鈕的狀態。 IN/OUT 旗標。 |
|
對話框終止時,是否已核取 顯示為圖示 單選按鈕。 OUT 旗標。 |
|
[顯示為圖示] 複選框將會在初始化時停用。 |
|
用來停用對話框中的變更圖示按鈕,當用戶默認貼上 OLE 物件時,這些按鈕可供使用者使用。 否則,請參閱 STAYONCLIPBOARDCHANGE。 |
|
用來告訴對話框是否在對話框啟動時變更剪貼簿。 如果使用者切換至另一個應用程式並複製或剪下某個專案,則對話框預設會執行取消作業,這會移除對話框,因為呈現給用戶的選項已不再 up-to-date,因為剪貼簿上實際的內容。 |
|
與 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
arrPasteEntries
OLEUIPASTEENTRY 陣列,指定可接受的格式。 此成員會填入輸入。
cPasteEntries
OLEUIPASTEENTRY 陣列專案的數目。 此成員會填入輸入。
arrLinkTypes
可接受的連結類型清單。 連結類型會在 arrPasteEntries中使用 OLEUIPASTEFLAG 來參考。 此成員會填入輸入。
cLinkTypes
連結類型的數目。 此成員會填入輸入。
cClsidExclude
lpClsidExclude中的 CLSID 數目。 此成員會填入輸入。
lpClsidExclude
要從 Paste 作業可用的伺服器物件清單中排除之 CLSID 陣列的指標。 請注意,這不會影響貼上連結 。 應用程式可以藉由在此清單中列出自己的CLSID來防止內嵌到本身。 此欄位會填入輸入。
nSelectedIndex
arrPasteEntries 用戶選取的索引。 此成員會在輸出中填入。
fLink
使用者是否已選取 貼上 或 貼上連結。 此成員會在輸出中填入。
hMetaPict
處理包含使用者所選取圖示和圖示標題的元檔。 此成員會在輸出中填入。
sizel
如果使用者選擇的顯示層面符合來源中顯示的層面,則其來源中顯示的物件大小。 如果用戶選擇不同的層面,則 sizel.cx 和 sizel.cy 都設定為零。 如果 fLinkFALSE,並從 LinkSrcDescriptor 擷取來源中顯示的物件大小,則會從 ObjectDescriptor 擷取TRUE。 此成員會在輸出中填入。
言論
注意
oledlg.h 標頭會根據 UNICODE 預處理器常數的定義,將 OLEUIPASTESPECIAL 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | oledlg.h |