다음을 통해 공유


끌어서 놓기

끌어서 놓 기는 마우스 또는 다른 포인팅 디바이스가 데이터 원본과 대상을 모두 지정하는 데 사용되는 데이터 전송을 나타냅니다. 일반적인 끌어서 놓기 작업에서 사용자는 마우스 포인터를 이동한 다음 왼쪽 단추 또는 이 용도로 지정된 다른 단추를 누른 채 전송할 개체를 선택합니다. 단추를 계속 누르고 있는 동안 사용자는 개체를 대상으로 끌어 전송을 시작합니다( OLE 컨테이너일 수 있음). 끌어서 놓기 기능은 OLE 클립보드 복사 및 붙여넣기와 정확히 동일한 기능을 제공하지만 시각적 피드백을 추가하고 메뉴가 필요하지 않습니다. 실제로 애플리케이션이 클립보드 복사 및 붙여넣기를 지원하는 경우 끌어서 놓기를 지원하기 위해 약간의 추가 작업이 필요합니다.

OLE 끌어서 놓기 작업 중에 다음 세 개의 개별 코드 조각이 사용됩니다.

코드 원본 끌어서 놓기 구현 및 사용
IDropSource 인터페이스
끌기 원본이라고 하는 끌기 데이터를 포함하는 개체에 의해 구현됩니다.
IDropTarget 인터페이스
드롭 대상이라고 하는 드롭을 수락하기 위한 개체에 의해 구현됩니다.
DoDragDrop 함수
OLE에서 구현되고 끌어서 놓기 작업을 시작하는 데 사용됩니다. 작업이 진행되면 끌어서 놓기 대상과 끌어서 놓기 대상 간의 통신을 용이하게 합니다.

IDropSourceIDropTarget 인터페이스는 컨테이너 또는 개체 애플리케이션에서 구현할 수 있습니다. 끌어서 놓기 대상의 역할은 한 가지 유형의 OLE 애플리케이션으로 제한되지 않습니다.

OLE 함수 DoDragDrop 은 끌기가 취소되거나 낙하가 발생할 때까지 마우스 및 키보드 움직임을 추적하는 루프를 구현합니다. DoDragDrop 은 끌어서 놓기 프로세스의 핵심 함수로, 끌기 소스와 놓기 대상 간의 통신을 용이하게 합니다.

끌어서 놓기 작업 중에 세 가지 유형의 피드백을 사용자에게 표시할 수 있습니다.

피드백 유형 설명
원본 피드백
끌기 원본에서 제공하는 원본 피드백은 데이터가 끌기 중이며 끌기 중에 변경되지 않음을 나타냅니다. 일반적으로 데이터가 선택되었음을 알리기 위해 강조 표시됩니다.
포인터 피드백
끌기 소스에서 제공하는 포인터 피드백은 마우스가 지정된 순간에 놓이면 어떻게 되는지 나타냅니다. 사용자가 마우스를 이동하거나 한정자 키를 누르면 포인터 피드백이 지속적으로 변경됩니다. 예를 들어 포인터를 놓을 수 없는 창으로 이동하면 포인터가 "허용되지 않음" 기호로 변경됩니다.
대상 피드백
드롭 대상에서 제공하는 대상 피드백은 드롭이 발생할 위치를 나타냅니다.

자세한 내용은 원본 책임 끌기를 참조하세요.

데이터 전송