IDropTarget::D ragEnter 方法 (oleidl.h)
指出是否可以接受卸除,如果是,則表示卸除的效果。
語法
HRESULT DragEnter(
[in] IDataObject *pDataObj,
[in] DWORD grfKeyState,
[in] POINTL pt,
[in, out] DWORD *pdwEffect
);
參數
[in] pDataObj
數據物件上 IDataObject 介面的指標。 此資料物件包含拖放作業中傳輸的數據。 如果卸載發生,此數據物件將會併入目標中。
[in] grfKeyState
鍵盤上鍵盤修飾詞鍵的目前狀態。 可能的值可以是任何旗標的組合MK_CONTROL、MK_SHIFT、MK_ALT、MK_BUTTON、MK_LBUTTON、MK_MBUTTON和MK_RBUTTON。
[in] pt
POINTL 結構,其中包含螢幕座標中的目前游標座標。
[in, out] pdwEffect
在輸入上,指向 DoDragDrop 函式之 pdwEffect 參數值的指標。 傳回時,必須包含其中一個 DROPEFFECT 旗標,這表示卸除作業的結果。
傳回值
此方法會在成功時傳回S_OK。 其他可能的值包括下列專案。
傳回碼 | Description |
---|---|
|
已發生未預期的錯誤。 |
|
pdwEffect 參數在輸入時為 NULL。 |
|
此作業的記憶體不足。 |
備註
您不會直接呼叫 DragEnter ;相反地, DoDragDrop 函式會呼叫它,以判斷使用者第一次將滑鼠拖曳到置放目標的已註冊視窗時的效果。
若要實作 DragEnter,您必須檢查三件事,判斷目標是否可以使用源數據物件中的數據:
- 數據物件所指定的格式和媒體
- pdwEffect 的輸入值
- 修飾詞索引鍵的狀態
在 IDropTarget::D ragEnter 的專案上,pdwEffect 參數會設定為 DoDragDrop 函式的 pdwOkEffect 參數所提供的效果。 IDropTarget::D ragEnter 方法必須選擇其中一個效果或停用卸除。
下列修飾詞索引鍵會影響卸除的結果。
按鍵組合 | User-Visible 意見反應 | 置放效果 |
---|---|---|
CTRL + SHIFT | = | DROPEFFECT_LINK |
CTRL | + | DROPEFFECT_COPY |
沒有按鍵或SHIFT | 無 | DROPEFFECT_MOVE |
傳回時,方法必須將效果,其中一個 DROPEFFECT 旗標寫入 pdwEffect 參數。 DoDragDrop 接著會採用此參數,並將其寫入其 pdwEffect 參數。 您可以透過 pdwEffect 參數中的 DoDragDrop,將卸除的效果傳達回來源。 DoDragDrop 函式接著會呼叫 IDropSource::GiveFeedback,讓來源應用程式可以透過目標視窗向用戶顯示適當的視覺回饋。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |