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