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 클래스는 이러한 인터페이스를 정의합니다.

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

메서드

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

메서드 Description
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 이벤트가 발생하며 newCursor 매개 변수가 VARIANT_TRUE. 애플리케이션은 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 컨트롤 참조