sInk 및 tInk 개체
애플리케이션에서 잉크 지원을 지원하기 위해 두 개체를 모두 포함할 수 있으며 모든 OLE 컨테이너에서 지원됩니다. Ink.ClipboardCopy 메서드(Rectangle, InkClipboardFormats, InkClipboardModes) 또는 Ink.ClipboardCopy 메서드(Strokes, InkClipboardFormats, InkClipboardModes) 메서드를 호출하여 생성되며 다음과 같습니다.
- 텍스트 잉크 개체(tInk). 이는 단어를 형성해야 하는 잉크를 나타내는 OLE 개체입니다. tInk 개체를 사용하면 인식기에서 반환된 텍스트 또는 인식 대체 목록에서 선택한 텍스트로 필기 잉크를 텍스트로 변환할 수 있습니다. 잉크의 색과 크기는 프로그래밍 방식으로 설정할 수 있으며 개체 주위의 텍스트 특성을 기반으로 할 수 있습니다. tInk 개체는 한 단어를 포함하기 위한 것입니다. tInk 개체는 렌더링(HDC(디바이스 컨텍스트) 및 RECT에 대한 핸들 제공) 및 자체 유지(스트림 제공)와 같은 간단한 작업을 수행할 수 있는 작고 가벼운 개체입니다. tInk 개체를 사용하면 필기와 텍스트의 입력을 모두 사용하는 애플리케이션에서 작업할 때 원활한 사용자 환경을 사용할 수 있습니다.
- 스케치 잉크 개체(sInk). 이 개체는 단어를 구성할 것으로 예상되지 않는 잉크를 나타내는 OLE 개체입니다. sInk 개체는 드로잉으로 해석됩니다. sInk 개체는 여러 단어를 나타내는 데도 유용합니다.
이러한 개체는 클립보드의 OLE 개체 슬롯에 배치하거나 RTF(서식 있는 텍스트 형식)에 포함시켜 애플리케이션 간의 상호 운용성을 위해 사용할 수 있습니다.
다음과 같은 방법으로 tInk 및 sInk 개체를 사용할 수 있습니다.
- tInk 및 sInk 개체는 모두 Microsoft Word 2002에서 지원됩니다. 사용자는 2002년 Word 제공된 텍스트 입력 패널을 작성하고 그리기를 사용하여 Word 문서에 잉크를 삽입할 수 있습니다. 이 잉크는 sInk 또는 tInk 개체의 CLSID를 사용하여 Word 파일에 OLE 개체로 포함됩니다.
- 태블릿 PC InkEdit 컨트롤은 tInk 개체를 사용합니다. InkEdit 컨트롤은 표준 RichTextBox 컨트롤의 하위 클래스입니다. 잉크는 InkEdit 컨트롤의 RTF 스트림에 tInk 개체로 삽입됩니다.
- 애플리케이션이 선택한 Ink 개체를 클립보드로 이동하면 OLE 개체 클립보드 슬롯에 tInk 또는 sInk OLE 개체가 포함됩니다.
예를 들어 애플리케이션은 필기를 인식하고 모든 Ink 개체를 tInk 개체로 표시할 수 있습니다. 그런 다음 잉크로 단어를 선택하고 복사하여 Word 붙여넣으면 해당 단어의 대체 항목이 Word 2002에 표시됩니다.
참고
태블릿 PC 플랫폼의 클립보드 지원은 OLE 개체로 클립보드에 sInk 또는 tInk 개체를 배치할 때 EMF(고급 메타파일) 플래그를 자동으로 선택합니다. 개체 자체는 포함 소스 및 개체 설명자 슬롯의 클립보드에 저장됩니다.
또 다른 예로, sInk 개체를 사용하여 애플리케이션에서 잉크 스케치를 그리고, 스케치를 복사하여 Word 2002에 붙여넣은 다음, Word 태블릿 PC 입력 패널을 사용하여 드로잉을 편집할 수 있습니다.
tInk 개체를 성공적으로 포함하려면 애플리케이션이 포함된 개체에 대한 OLE 컨테이너 지원을 구현해야 합니다. 그런 다음 컨테이너가 tInk를 완전히 지원하도록 하려면 다음을 적용해야 합니다.
- 찾기 및 바꾸기에 대한 코드 수정 검색에서 포함된 개체를 건너뛰는 대신 형식에 대해 이러한 개체를 조사해야 합니다. tInk 개체인 경우 해당 텍스트를 인스턴스화하고 쿼리해야 합니다.
- 선택 동작 수정 tInk 개체의 선택은 크기 조정 핸들과 함께 표시되지 않아야 합니다. 문서에서 텍스트를 선택하는 것과 동일한 방식으로 선택해야 합니다. 개체의 선택 코드는 형식이 tInk인지 감지하고 선택 영역을 적절하게 표시해야 합니다.
- 앰비언트 속성 사용 글꼴 크기, 색 및 굵은 서식과 같은 주변 속성을 tInk 개체로 전송해야 합니다. 이러한 속성을 적용하면 필기 잉크의 너비가 변경되므로 GetInkExtent 메서드 또는 IOleObject::GetExtent 메서드를 호출하여 크기 업데이트가 필요합니다.
- 기본 IOleObject::D oVerb 메서드 처리를 재정의합니다. 이렇게 하면 텍스트로 변환하여 tInk 개체의 일괄 처리를 인식기에 전달할 수 있습니다. 그러면 단어를 인식 세그먼트로 분할할 수 있습니다.
단어를 인식 세그먼트로 나누는 방법에 대한 자세한 내용은 인식 세그먼트를 참조하세요.