원본 책임 끌기
끌기 원본은 다음 작업을 담당합니다.
- IDataObject 및 IDropSource 인터페이스를 노출하는 놓기 대상에 대한 데이터 전송 개체를 제공합니다.
- 포인터 및 원본 피드백 생성.
- 끌기 작업이 취소되었거나 놓기 작업이 발생한 시기를 확인합니다.
- 삭제 작업으로 인해 발생한 원래 데이터에 대한 작업을 수행합니다(예: 데이터 삭제 또는 해당 데이터에 대한 링크 만들기).
기본 작업은 IDataObject 및 IDropSource 인터페이스를 노출하는 데이터 전송 개체를 만드는 것입니다. 끌기 원본은 선택한 데이터의 복사본을 포함하거나 포함하지 않을 수 있습니다. 필수는 아니지만 이를 포함하면 의도하지 않은 변경으로부터 보호할 수 있으며 클립보드 작업 코드가 끌어서 놓기 코드와 동일할 수 있습니다.
끌기 작업이 진행되는 동안 끌기 원본은 마우스 포인터를 설정하고 적절한 경우 사용자에게 추가 원본 피드백을 제공하는 작업을 담당합니다. 끌기 원본은 실제 포인터를 실제로 설정하는 것 이외의 다른 마우스 위치를 추적하는 피드백을 제공할 수 없습니다( SetCursor 함수 참조). 드롭 대상에서 제공한 피드백과의 충돌을 방지하려면 이 규칙을 적용해야 합니다. (끌기 원본은 놓기 대상이 될 수도 있습니다. 물론 원본/대상은 자체에 놓을 때 마우스 위치를 추적하기 위한 대상 피드백을 제공할 수 있습니다. 그러나 이 경우 원본이 아니라 마우스를 추적하는 놓기 대상입니다.) 놓기 대상에서 제공하는 피드백에 따라 원본은 적절한 포인터를 설정합니다.
관련 항목