다음을 통해 공유


IDropTarget::D rop 메서드(oleidl.h)

원본 데이터를 대상 창에 통합하고, 대상 피드백을 제거하고, 데이터 개체를 해제합니다.

구문

HRESULT Drop(
  [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 반환합니다. 다른 가능한 값은 다음과 같습니다.

반환 코드 설명
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.
E_INVALIDARG
pdwEffect 매개 변수가 잘못되었습니다.
E_OUTOFMEMORY
이 작업에 사용할 수 있는 메모리가 부족합니다.

설명

이 메서드는 직접 호출하지 않습니다. DoDragDrop 함수는 사용자가 끌어서 놓기 작업을 완료할 때 이 메서드를 호출합니다.

Drop 구현에서 데이터 개체를 대상에 통합해야 합니다. iDataObject에서 사용할 수 있는 형식과 pDataObj를 통해 사용할 수 있는 형식을 한정자 키의 현재 상태와 함께 사용하여 연결 또는 포함과 같이 데이터를 통합하는 방법을 결정합니다.

데이터를 통합하는 것 외에도 IDropTarget::D ragLeave 메서드에서와 같이 클린 합니다.

  • 현재 표시된 대상 피드백을 제거합니다.
  • 데이터 개체에 대한 참조를 해제합니다.
또한 DoDragDrop을 통해 이 작업의 효과를 원본 애플리케이션에 다시 전달하므로 끌어서 놓기 작업이 완료된 후 원본 애플리케이션이 클린 수 있습니다.
  • 표시되는 원본 피드백을 제거합니다.
  • 작업이 이동인 경우 데이터 제거와 같이 데이터를 필요한 대로 변경합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 oleidl.h

추가 정보

Dodragdrop

IDropSource

IDropSourceNotify

Idroptarget

RegisterDragDrop

RevokeDragDrop