RegisterDragDrop 함수(ole2.h)
지정된 창을 OLE 끌어서 놓기 작업의 대상이 될 수 있는 창으로 등록하고 삭제 작업에 사용할 IDropTarget 인스턴스를 지정합니다.
통사론
HRESULT RegisterDragDrop(
[in] HWND hwnd,
[in] LPDROPTARGET pDropTarget
);
매개 변수
[in] hwnd
OLE 끌어서 놓기 작업의 대상이 될 수 있는 창에 대한 핸들입니다.
[in] pDropTarget
지정된 창에서 끌어서 놓기 작업의 대상이 될 개체의 IDropTarget 인터페이스에 대한 포인터입니다. 이 인터페이스는 해당 창에 대한 OLE 끌어서 놓기 정보를 전달하는 데 사용됩니다.
반환 값
이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.
반환 코드 | 묘사 |
---|---|
|
hwnd 매개 변수에 반환된 핸들이 잘못되었습니다. |
|
지정한 창이 이미 놓기 대상으로 등록되어 있습니다. |
|
작업에 대한 메모리가 부족합니다. |
발언
애플리케이션이 OLE 끌어서 놓기 작업 중에 삭제된 개체를 허용할 수 있는 경우 RegisterDragDrop 함수를 호출해야 합니다. 애플리케이션 창 중 하나를 잠재적인 삭제 대상으로 사용할 수 있을 때마다 이 작업을 수행합니다. 즉, 창이 화면에 표시되지 않는 것처럼 보일 때입니다.
RegisterDragDrop 함수를 호출하는 애플리케이션 스레드는 메시지를 처리해야 하는 스레드에서 창을 만들기 때문에 NULLhWnd 매개 변수를 사용하여 GetMessage 함수를 호출하여 메시지를 펌핑해야 합니다. 이 요구 사항이 충족되지 않으면 놓기 대상으로 등록된 창 위로 개체를 끌어 놓는 애플리케이션은 대상 애플리케이션이 닫히기 전까지 중단됩니다.
RegisterDragDrop 함수는 한 번에 하나의 창만 등록하므로 삭제된 개체를 허용할 수 있는 각 애플리케이션 창에 대해 호출해야 합니다.
마우스가 OLE 끌어서 놓기 작업 중에 대상 창의 가려지지 않은 부분을 지나갈 때 DoDragDrop 함수는 현재 창에 대해 지정된 IDropTarget::D ragOver 메서드를 호출합니다. 지정된 창에서 놓기 작업이 실제로 발생하면 DoDragDrop 함수는 IDropTarget::D rop호출합니다.
RegisterDragDrop 함수는 IDropTarget 포인터에서 IUnknown::AddRef 메서드를 호출합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ole2.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |