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 반환합니다. 다른 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
예기치 않은 오류가 발생했습니다. |
|
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 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | oleidl.h |