다음을 통해 공유


포함된 개체(Text Services 프레임워크)

Text Services Framework를 사용하면 텍스트 서비스가 애플리케이션 텍스트 스트림에 개체를 포함할 수 있습니다. 포함된 개체는 TS_CHAR_EMBEDDED 값을 사용하여 텍스트 스트림에 삽입됩니다. 이 값은 16진수 표기법을 사용하여 유니코드 개체 대체 문자 U+fffc로 확인됩니다. 예를 들어 다음 그림에서는 영어 번역 "Sun"을 나타내는 유니코드 문자 시퀀스와 함께 일본어 ideograph hi를 나타내는 포함된 개체의 렌더링을 보여 줍니다.

포함된 개체의 문자 인코딩

그림의 맨 위 행에는 "Sun"이라는 단어와 태양, 안녕이라는 일본어 문자로 구성된 번역된 텍스트가 포함되어 있습니다. 그림의 가운데 행에는 유니코드 문자가 표시됩니다. U+fffc의 경우 개체 대체 문자입니다. 그림의 아래쪽 행에는 각 문자의 16진수 값이 표시됩니다.

애플리케이션에서 포함된 개체 지원

TSF 관리자는 ACP 기반 애플리케이션에 대해 ITextStoreACP::InsertEmbedded 를 호출하거나 앵커 기반 애플리케이션에 대해 ITextStoreAnchor::InsertEmbedded 를 호출하여 포함된 개체를 텍스트 스트림에 삽입합니다. 포함된 개체가 삽입되면 애플리케이션은 개체가 포함된 문자 위치(또는 앵커 위치)에 TS_CHAR_EMBEDDED 값을 배치하고 포함된 개체와 연결된 IDataObject를 저장해야 합니다. ITextStoreACP::GetText 또는 ITextStoreAnchor::GetText가 호출되고 포함된 개체가 가져온 텍스트 내에 포함된 경우 TS_CHAR_EMBEDDED 값은 포함된 개체의 존재 여부와 위치를 나타냅니다. 포함된 개체를 가져오려면 포함된 개체의 문자 위치로 ITextStoreACP::GetEmbedded 를 호출하거나 포함된 개체의 앵커 위치를 사용하여 ITextStoreAnchor::GetEmbedded 를 호출합니다.

애플리케이션은 일반적으로 포함된 개체 콘텐츠를 인식하지 않습니다. 애플리케이션은 개체 자체에서 표시 정보를 가져오려고 시도할 수 있습니다. 포함된 개체가 애플리케이션에서 인식하는 형식(예: CF_UNICODETEXT 또는 CF_BITMAP)으로 데이터를 제공할 수 있는 경우 애플리케이션은 개체에서 제공하는 그래픽 정보를 표시할 수 있습니다.

포함된 개체 삽입

텍스트 서비스는 ITfRange::InsertEmbedded 또는 ITfInsertAtSelection::InsertEmbeddedAtSelection을 호출하여 포함된 개체를 컨텍스트에 삽입합니다. 텍스트 서비스는 포함된 IDataObject를 제공해야 합니다.