POINTERINACTIVE 열거형(ocidl.h)
개체의 활성화 정책을 나타내며 IPointerInactive::GetActivationPolicy 메서드에 사용됩니다.
Syntax
typedef enum tagPOINTERINACTIVE {
POINTERINACTIVE_ACTIVATEONENTRY = 1,
POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;
상수
POINTERINACTIVE_ACTIVATEONENTRY 값: 1 개체는 마우스 이동 작업 중에 마우스가 들어갈 때 활성화되어야 합니다. |
POINTERINACTIVE_DEACTIVATEONLEAVE 값: 2 마우스 이동 작업 중에 마우스가 개체를 떠날 때 개체를 비활성화해야 합니다. |
POINTERINACTIVE_ACTIVATEONDRAG 값: 4 끌어서 놓기 작업 중에 마우스를 끌 때 개체를 현재 위치로 활성화해야 합니다. |
설명
POINTERINACTIVE_ACTIVATEONENTRY 및 POINTERINACTIVE_DEACTIVATEONLEAVE 값 사용에 대한 자세한 내용은 IPointerInactive::GetActivationPolicy 메서드를 참조하세요.
POINTERINACTIVE_ACTIVATEONDRAG 값을 사용하여 비활성 개체에서 끌어서 놓기 작업을 지원할 수 있습니다. 비활성 개체에는 잠재적인 삭제 대상으로 등록할 창이 없습니다. 대부분의 컨테이너는 활성화와 관련된 오버헤드로 인해 포함된 비활성 개체를 놓기 대상으로 무시합니다.
끌어서 놓기 작업 중에 마우스 포인터가 개체 위에 있을 때 개체를 활성화하는 대신 컨테이너는 먼저 QueryInterface 를 사용하여 비활성 개체가 IPointerInactive를 지원하는지 확인할 수 있습니다. 그런 다음 개체가 IPointerInactive를 지원하지 않는 경우 컨테이너는 삭제 대상이 아니라고 가정할 수 있습니다. 개체가 IPointerInactive를 지원하는 경우 컨테이너는 IPointerInactive::GetActivationPolicy 메서드를 호출합니다. POINTERINACTIVE_ACTIVATEONDRAG 값이 설정되면 컨테이너는 개체가 자체 IDropTarget 인터페이스를 등록할 수 있도록 개체를 현재 위치에서 활성화합니다.
컨테이너는 이러한 모든 작업이 발생할 때 자체 IDropTarget::D ragOver 메서드를 처리합니다. 이 메서드를 완료하기 위해 컨테이너는 pdwEffect 매개 변수에 대한 DROPEFFECT_NONE 반환합니다. 그런 다음, 컨테이너의 IDropTarget::D ragLeave 를 호출한 다음 개체의 IDropTarget::D ragEnter를 호출하여 끌어서 놓기 작업을 계속합니다.
포함된 개체에서 삭제가 발생하면 개체가 UI 활성화되고 포커스가 다시 변경되면 UI가 비활성화됩니다. 개체에서 삭제가 발생하지 않으면 컨테이너는 다음에 자체 IDropTarget::D ragEnter에 대한 호출을 받을 때 개체를 비활성화해야 합니다. 컨테이너의 IDropTarget::D ragEnter에 대한 중간 호출 없이 세 번째 활성 개체에서 삭제가 발생할 수 있습니다. 이 경우 컨테이너는 가능한 한 빨리 개체를 비활성화하려고 시도해야 합니다(예: 다른 개체를 UI 활성화하는 경우).
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | ocidl.h |