InkCollector 클래스

사용 가능한 태블릿 디바이스에서 잉크를 캡처하는 데 사용되는 개체를 나타냅니다.

투명한 컨트롤 뒤에 InkCollector 컨트롤을 만들면(예: WS_EX_TRANSPARENT 속성 집합이 있는 GroupBox) InkCollector 가 잉크를 수집하지 못하게 됩니다.

InkCollector 에는 다음과 같은 유형의 멤버가 있습니다.

이벤트

InkCollector 클래스에는 이러한 이벤트가 있습니다.

이벤트 설명
CursorButtonDown InkCollector가 다운된 커서 단추를 검색할 때 발생합니다.
CursorButtonUp InkCollector가 위쪽에 있는 커서 단추를 검색할 때 발생합니다.
CursorDown 커서 팁이 디지털화 태블릿 표면에 연결할 때 발생합니다.
CursorInRange 커서가 태블릿 컨텍스트의 물리적 검색 범위(근접)에 들어갈 때 발생합니다.
CursorOutOfRange 커서가 태블릿 컨텍스트의 물리적 검색 범위(근접)를 벗어나면 발생합니다.
더블 InkCollector 개체를 두 번 클릭하면 발생합니다.
제스처 애플리케이션별 제스처를 인식할 때 발생합니다.
MouseDown 마우스 포인터가 InkCollector 개체 위에 있고 마우스 단추를 누를 때 발생합니다.
MouseMove 마우스 포인터를 InkCollector 개체 위로 이동할 때 발생합니다.
MouseUp 마우스 포인터가 InkCollector 개체 위에 있고 마우스 단추가 해제될 때 발생합니다.
Mousewheel InkCollector 개체에 포커스가 있는 동안 마우스 휠이 이동할 때 발생합니다.
NewInAirPackets 사용자가 태블릿 근처에서 펜을 이동하고 커서가 InkCollector 개체의 창 내에 있거나 사용자가 InkCollector 개체 개체의 연결된 창 내에서 마우스를 이동할 때 발생하는 공중 패킷이 표시될 때 발생합니다.
NewPackets InkCollector 개체가 패킷을 받을 때 발생합니다.
스트로크 사용자가 모든 태블릿에서 새 스트로크 그리기를 완료할 때 발생합니다.
SystemGesture 시스템 제스처가 인식될 때 발생합니다.
TabletAdded 태블릿이 시스템에 추가되면 발생합니다.
TabletRemoved 태블릿이 시스템에서 제거될 때 발생합니다.

인터페이스

InkCollector 클래스는 이러한 인터페이스를 정의합니다.

인터페이스 설명
IInkCollector 이 개체는 IInkCollector COM 인터페이스를 구현합니다.

메서드

InkCollector 클래스에는 이러한 메서드가 있습니다.

방법 설명
GetEventInterest 특정 InkCollector 개체 이벤트의 현재 상태를 검색합니다. 즉, 이벤트가 수신 대기 중인지 또는 사용되는지 여부를 검색합니다.
GetGestureStatus InkCollector 개체가 특정 제스처에 관심이 있는지 여부를 검색합니다.
GetWindowInputRectangle 잉크가 그려지는 창 사각형을 픽셀 단위로 검색합니다.
SetAllTabletsMode 이 모드를 사용하면 InkCollector 개체가 태블릿 PC에 연결된 태블릿에서 잉크를 수집할 수 있습니다.
SetEventInterest 특정 이벤트를 수신 대기할지 또는 사용해야 하는지 여부를 나타내는 값을 수정합니다.
SetGestureStatus 알려진 제스처로 InkCollector 개체의 관심을 수정합니다.
SetSingleTabletIntegratedMode 이 모드를 사용하면 InkCollector 개체가 하나의 태블릿에서만 잉크를 수집할 수 있습니다. 다른 태블릿의 잉크는 InkCollector 개체에 의해 무시됩니다.
SetWindowInputRectangle 그리는 잉크를 창에 매핑하는 데 사용할 창 사각형을 픽셀 단위로 수정합니다.

속성

InkCollector 클래스에는 이러한 속성이 있습니다.

속성 액세스 유형 설명
AutoRedraw
읽기 전용
창이 무효화될 때 InkCollector 가 잉크를 다시 칠할지 여부를 지정하는 값을 가져오거나 설정합니다.
CollectingInk
읽기 전용
잉크가 현재 InkCollector 개체에 그려지는지 여부를 지정하는 값을 가져옵니다.
CollectionMode
읽기 전용
잉크, 제스처 또는 둘 다 사용자가 쓰는 것으로 인식되는지 여부를 결정하는 컬렉션 모드를 가져오거나 설정합니다.
커서
읽기 전용
수동 입력 영역에서 사용할 수 있는 커서 컬렉션을 가져옵니다.
DefaultDrawingAttributes
읽기 전용
잉크를 그리거나 표시할 때 사용되는 그리기 특성을 지정하는 기본 InkDrawingAttributes 개체를 가져오거나 설정합니다.
DesiredPacketDescription
읽기 전용
InkCollector 개체에 그려진 잉크와 연결된 패킷의 측면에 대한 관심을 가져오거나 설정합니다.
DynamicRendering
읽기 전용
잉크가 그려질 때 렌더링되는지 여부를 나타내는 값을 가져오거나 설정합니다.
사용
읽기 전용
InkCollector 개체가 펜 입력을 수집하는지 여부를 지정하는 값을 가져오거나 설정합니다.
Handle
읽기 전용
InkCollector 개체가 연결된 창의 핸들을 가져오거나 설정합니다.
잉크
읽기 전용
InkCollector 개체와 연결된 InkDisp 개체를 가져오거나 설정합니다.
MarginX
읽기 전용
x축의 여백을 픽셀 단위로 가져오거나 설정합니다.
MarginY
읽기 전용
y축의 여백을 픽셀 단위로 가져오거나 설정합니다.
MouseIcon
읽기 전용
현재 사용자 지정 마우스 아이콘을 가져오거나 설정합니다.
MousePointer
읽기 전용
마우스가 개체의 특정 부분에 있을 때 나타나는 마우스 포인터의 유형을 나타내는 값을 가져오거나 설정합니다.
렌더러
읽기 전용
잉크를 그리는 데 사용되는 InkRenderer 개체를 가져오거나 설정합니다.
SupportHighContrastInk
읽기 전용
시스템이 고대비 모드일 때 잉크가 하나의 색으로 렌더링되는지 여부를 지정하는 값을 가져오거나 설정합니다.
태블릿
읽기 전용
InkCollector 개체가 현재 입력을 수집하는 데 사용하는 태블릿 디바이스를 가져옵니다.

설명

이 개체는 C++에서 CoCreateInstance 메서드를 호출하여 인스턴스화할 수 있습니다.

InkCollector 개체는 연결된 특정 창에 입력되는 잉크 및 제스처만 수집합니다. InkCollector의 유일한 목적은 하드웨어에서 잉크를 수집하고(예: IInkCursorIInkTablet 개체를 통해) 애플리케이션에 전달하는 것입니다. 기본적으로 잉크를 하나 이상의 다른 InkDisp 개체로 배포하는 소스 역할을 하며, 분산 잉크를 보관하는 컨테이너 역할을 합니다.

InkCollector를 사용하려면 InkCollector를 만들고, 그려진 잉크를 수집할 창을 지정하고, 사용하도록 설정합니다. 활성화된 후에는 세 가지 모드 중 하나만 수집하도록 설정할 수 있습니다(모드는 InkCollectionMode 열거형에 지정됨).

  • IInkStrokeDisp 개체가 만들어지는 InkOnly입니다.
  • IInkGesture 개체가 만들어지는 GestureOnly입니다.
  • 애플리케이션이 이벤트를 처리하는 방법에 따라 스트로크, 제스처 또는 잠재적으로 둘 다 생성되는 InkAndGesture입니다.

즉, 태블릿 범위 내에 있는 커서의 모든 이동에 대해 InkCollector 는 항상 스트로크 또는 제스처를 수집하고 때로는 둘 다 수집합니다. 제스처 지원은 Microsoft 제스처 인식기를 사용하여 빌드됩니다.

InkCollector는 모든 태블릿 입력을 처리합니다. 잉크는 연결된 모든 태블릿(마우스 포함)에서 동시에 수집할 수 있습니다. IInkCursorIInkCursorButton 개체가 변경되면 InkCollector 개체가 이벤트를 발생시킬 수 있습니다.

InkCollector는 해당 커서가 있는 동안 발생하는 커서 목록도 관리합니다. InkCollector가 새 커서를 발견하면 cursorInRange 이벤트가 VARIANT_TRUE 설정된 newCursor 매개 변수로 실행됩니다. 애플리케이션은 InkCollector 를 사용하여 새 커서를 관리합니다.

생성자 또는 SetWindowInputRectangle 메서드에 설정된 컬렉션 영역이 겹치는 경우에도 둘 이상의 InkCollector를 특정 창 핸들과 연결할 수 있습니다. 그러나 이 시나리오가 작동하는 유일한 방법은 각 InkCollectorSetSingleTabletIntegratedMode를 호출하고 고유한 태블릿을 사용하는 경우입니다. 이 동작을 사용하면 각 태블릿에 대해 별도의 개체에 잉크를 쉽게 저장할 수 있습니다.

활성화된 InkCollectors ( Enabled 속성으로 설정됨)의 창 입력 사각형이 다른 사용 가능한 InkCollector의 창 입력 사각형과 겹치는 경우 오류가 발생합니다.

참고

알려진 시간에 입력 사각형 중 하나만 사용하도록 설정된 경우 오류 없이 겹침이 발생할 수 있습니다.

MouseDown, MouseMove, MouseUpMouseWheel 이벤트는 잉크 공간과 연결된 HIMETRIC 단위가 아닌 x 및 y 좌표를 픽셀 단위로 반환합니다. 이러한 이벤트는 펜을 인식하지 않는 애플리케이션의 마우스 이벤트를 대체하고 이러한 애플리케이션은 픽셀만 이해하기 때문입니다.

참고

InkCollector 개체는 UI가 아닌 스레드에서 안전하게 해제할 수 없습니다.

애플리케이션의 성능을 향상시키려면 더 이상 필요하지 않은 경우 InkCollector 개체를 삭제합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버
지원되는 버전 없음
헤더
Msinkaut.h(Msinkaut_i.c 필요)
라이브러리
InkObj.dll

참고 항목

InkEdit 컨트롤 참조

InkDisp 클래스

InkOverlay 클래스

InkPicture 컨트롤 참조