먼저 포커스를 컨트롤로 설정하지 않고 펜을 켜거나 가까이에서 텍스트 편집 컨트롤로 수동 입력할 수 있습니다. 시스템은 의도를 결정하고, 입력 대상을 식별하고, 잉크 스트로크를 렌더링하고, 잉크를 텍스트(또는 텍스트 수정 제스처)로 인식하고, 사용 가능한 경우 텍스트 후보를 제안하고, 컨트롤의 편집 필드에 새 텍스트 또는 수정된 텍스트를 삽입합니다.
이 헤더는 잉크 입력에서 사용됩니다. 자세한 내용은 다음을 참조하세요.
TSF(Text Services Framework)와 UIA(UI 자동화)는 모두 ShellHandwriting 기능을 지원하는 데 사용됩니다.
다음 단계에서는 ShellHandwriting 기능에 사용되는 기본 프로세스를 설명합니다.
- 옵트아웃 결정: 애플리케이션이 ShellHandwriting을 지원하는지 확인합니다. 일반적으로 UIA(강력한 UI 자동화) 구현이 없는 애플리케이션 또는 사용자 지정 잉크 처리가 있는 애플리케이션입니다.
- 의도 결정: 앱이 ShellHandwriting을 지원하는 경우 시스템에서 펜 아래쪽 포인터 입력을 앱으로 전달해야 하는지 또는 필기용으로 사용해야 하는지 여부를 결정합니다.
- 탭 결정: 펜 입력을 필기용으로 사용해야 하는 경우 실행 가능한 컨트롤(예: 입력 우선 순위를 나타내는 단추)에서 입력을 받았는지 여부와 텍스트를 받을 수 있는 컨트롤(편집, ComboBox 또는 문서 형식)을 찾을 수 있는지, 읽기 전용이 아닌, 키보드 포커스를 허용할 수 있는지 테스트합니다.
- 대상 결정: 입력을 필기에 사용할 수 있는 경우 입력의 일부 주위에 경계 상자가 만들어지고 잉크 인식 결과(대상 결정)를 받는 데 가장 적합한 편집 컨트롤을 결정합니다.
- 최종 결정: 대상 편집 컨트롤을 식별하고 포커스를 지정하면 잉크 인식 결과가 컨트롤에 복사되기 전에 다양한 컨텍스트 표시기(예: 입력 scope, 언어, 기존 텍스트 경계 사각형)를 사용하여 적합성을 확인합니다.
shellhandwriting.h에는 다음과 같은 프로그래밍 인터페이스가 포함되어 있습니다.
인터페이스
|
IHandwritingInputRoutingCallback 입력 대상의 UI 스레드에서 펜 입력 처리 시스템 스레드를 분리하기 위한 입력 라우팅 지원을 제공합니다. |
|
ITfDetermineProximateHandwritingTargetArgs 필기 응답 동작 및 근접 대상 정보를 제공합니다. |
|
ITfFocusHandwritingTargetArgs 필기 응답 동작 및 대상 정보를 제공합니다. |
|
ITfHandwriting 먼저 포커스를 편집 컨트롤로 설정하지 않고도 근접 편집 필드에 펜으로 잉크 입력을 지원합니다. 잉크 스트로크가 렌더링되고, 필기 인식이 수행되고(텍스트 또는 편집 제스처로) 편집 필드에 텍스트가 입력됩니다. |
|
ITfHandwritingRequest 애플리케이션은 이 인터페이스를 사용하여 필기 요청 후에 발생한 펜 입력을 평가했음을 시스템에 알려야 합니다. |
|
ITfHandwritingSink 포커스가 편집 필드로 설정되기 전에 사용자 지정 필기 동작을 지정하는 기능을 지원합니다. |
Functions
|
GetHandwritingStrokeIdForPointer 지정된 포인터 ID와 연결된 잉크 스트로크의 고유 ID를 검색합니다. |
|
RegisterHandwritingInputRoutingCallback |
열거형
|
TfHandwritingFocusTargetResponse FocusHandwritingTarget 함수를 호출할 때 IHandwritingInputRoutingCallback 인터페이스를 구현하는 클라이언트가 응답하는 방법을 지정합니다. |
|
TfHandwritingState 시스템에서 필기를 처리하는 방법을 지정합니다. |
|
TfInputEvaluation 펜 입력을 인식하는 방법을 지정합니다. |
|
TfProximateHandwritingTargetResponse 필기 대상 개체의 근접 위치에 따라 지원되는 필기 동작을 지정합니다. |