다음을 통해 공유


COleDropSource 클래스

데이터를 놓기 대상으로 끌 수 있습니다.

구문

class COleDropSource : public CCmdTarget

멤버

공용 생성자

속성 설명
COleDropSource::COleDropSource COleDropSource 개체를 생성합니다.

공용 메서드

이름 설명
COleDropSource::GiveFeedback 끌어서 놓기 작업 중에 커서를 변경합니다.
COleDropSource::OnBeginDrag 끌어서 놓기 작업 중에 마우스 캡처를 처리합니다.
COleDropSource::QueryContinueDrag 끌기를 계속할지 여부를 확인합니다.

설명

COleDropTarget 클래스는 끌어서 놓기 작업의 수신 부분을 처리합니다. 개체는 COleDropSource 끌기 작업이 시작되는 시기를 확인하고, 끌기 작업 중에 피드백을 제공하고, 끌기 작업이 종료되는 시기를 결정합니다.

개체를 COleDropSource 사용하려면 생성자를 호출하기만 하면됩니다. 이렇게 하면 마우스 클릭과 같은 이벤트를 결정하는 프로세스가 간소화되며 COleDataSource::D oDragDrop, COleClientItem::D oDragDrop 또는 COleServerItem::D oDragDrop 함수를 사용하여 끌기 작업을 시작합니다. 이러한 함수는 개체를 COleDropSource 만듭니다. 재정의 가능한 함수의 기본 동작을 COleDropSource 수정할 수 있습니다. 이러한 멤버 함수는 프레임워크에서 적절한 시간에 호출됩니다.

OLE를 사용하는 끌어서 놓기 작업에 대한 자세한 내용은 OLE 끌어서 놓기 문서를 참조하세요.

자세한 내용은 Windows SDK의 IDropSource 를 참조하세요.

상속 계층 구조

CObject

CCmdTarget

COleDropSource

요구 사항

헤더: afxole.h

COleDropSource::COleDropSource

COleDropSource 개체를 생성합니다.

COleDropSource();

COleDropSource::GiveFeedback

COleDropTarget::OnDragOver 또는 COleDropTarget::D ragEnter를 호출한 후 프레임워크에서 호출됩니다.

virtual SCODE GiveFeedback(DROPEFFECT dropEffect);

매개 변수

dropEffect
사용자에게 표시하려는 효과로, 일반적으로 선택한 데이터와 함께 이 시점에서 삭제가 발생하면 어떻게 되는지를 나타냅니다. 일반적으로 CView::OnDragEnter 또는 CView::OnDragOver에 대한 최신 호출에서 반환되는 값입니다. 다음 중 하나 이상이 될 수 있습니다.

  • DROPEFFECT_NONE 삭제가 허용되지 않습니다.

  • DROPEFFECT_COPY 복사 작업이 수행됩니다.

  • DROPEFFECT_MOVE 이동 작업이 수행됩니다.

  • DROPEFFECT_LINK 삭제된 데이터에서 원래 데이터로의 링크가 설정됩니다.

  • DROPEFFECT_SCROLL 끌기 스크롤 작업이 발생하거나 대상에서 발생합니다.

Return Value

끌기가 진행 중이면 DRAGDROP_S_USEDEFAULTCURSORS 반환하고, 그렇지 않으면 NOERROR를 반환합니다.

설명

이 함수를 재정의하여 이 시점에서 삭제가 발생할 경우 발생할 수 있는 일에 대한 피드백을 사용자에게 제공합니다. 기본 구현에서는 OLE 기본 커서를 사용합니다. OLE를 사용하는 끌어서 놓기 작업에 대한 자세한 내용은 OLE 끌어서 놓기 문서를 참조하세요.

자세한 내용은 Windows SDK의 IDropSource::GiveFeedback, IDropTarget::D ragOverIDropTarget::D ragEnter 를 참조하세요.

COleDropSource::OnBeginDrag

마우스 왼쪽 단추 누르기 등 끌기 작업을 시작할 수 있는 이벤트가 발생할 때 프레임워크에서 호출됩니다.

virtual BOOL OnBeginDrag(CWnd* pWnd);

매개 변수

pWnd
선택한 데이터가 포함된 창을 가리킵니다.

Return Value

끌기가 허용되는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

끌기 프로세스가 시작되는 방식을 수정하려면 이 함수를 재정의합니다. 기본 구현은 마우스를 캡처하고 사용자가 마우스 왼쪽 또는 오른쪽 단추를 클릭하거나 마우스를 놓을 때까지 끌기 모드로 유지됩니다. 이때 마우스를 놓습니다.

COleDropSource::QueryContinueDrag

끌기가 시작된 후 끌기 작업이 취소되거나 완료될 때까지 프레임워크에서 이 함수를 반복적으로 호출합니다.

virtual SCODE QueryContinueDrag(
    BOOL bEscapePressed,
    DWORD dwKeyState);

매개 변수

bEscapePressed
마지막 호출 COleDropSource::QueryContinueDrag이후 ESC 키를 눌렀는지 여부를 나타냅니다.

dwKeyState
키보드의 한정자 키 상태를 포함합니다. MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON 및 MK_RBUTTON 조합합니다.

Return Value

DRAGDROP_S_CANCEL ESC 키 또는 오른쪽 단추를 누르거나 끌기 전에 왼쪽 단추가 발생하는지 여부를 나타냅니다. 삭제 작업이 수행되어야 하는지 DRAGDROP_S_DROP. 그렇지 않으면 S_OK.

설명

끌기가 취소되거나 놓기가 발생하는 지점을 변경하려면 이 함수를 재정의합니다.

기본 구현은 다음과 같이 끌어서 놓기를 시작하거나 취소합니다. ESC 키 또는 오른쪽 마우스 단추를 누르면 끌기 작업이 취소됩니다. 끌기가 시작된 후 마우스 왼쪽 단추가 발생할 때 놓기 작업을 시작합니다. 그렇지 않으면 S_OK 반환하고 더 이상 작업을 수행하지 않습니다.

이 함수는 자주 호출되므로 최대한 최적화해야 합니다.

참고 항목

MFC 샘플 HIERSVR
MFC 샘플 OCLIENT
CCmdTarget 클래스
계층 구조 차트