Bagikan melalui


Objek Tersemat (Kerangka Kerja Layanan Teks)

Text Services Framework memungkinkan layanan teks untuk menyematkan objek dalam aliran teks aplikasi. Objek yang disematkan disisipkan ke dalam aliran teks menggunakan nilai TS_CHAR_EMBEDDED. Nilai ini diselesaikan ke karakter pengganti objek Unicode U+fffc, menggunakan notasi heksadesimal. Misalnya, ilustrasi berikut menunjukkan penyajian objek tersemat yang mewakili hi ideograf Jepang, dalam kombinasi dengan urutan karakter Unicode yang mewakili terjemahan bahasa Inggris "Matahari."

pengodean karakter objek yang disematkan

Baris atas gambar berisi teks yang diterjemahkan, terdiri dari kata "Matahari" diikuti oleh karakter Jepang untuk matahari, hai. Baris tengah gambar menunjukkan karakter Unicode. Dalam kasus U+fffc, ini adalah karakter pengganti objek. Baris bawah gambar menunjukkan nilai heksadesimal dari setiap karakter.

Mendukung Objek Tersemat dalam Aplikasi

Manajer TSF menyisipkan objek yang disematkan ke dalam aliran teks dengan memanggil ITextStoreACP::InsertEmbedded untuk aplikasi berbasis ACP, atau ITextStoreAnchor::InsertEmbedded untuk aplikasi berbasis jangkar. Ketika objek yang disematkan dimasukkan, aplikasi harus menempatkan nilai TS_CHAR_EMBEDDED pada posisi karakter (atau lokasi jangkar) di mana objek disematkan dan menyimpan IDataObject yang terkait dengan objek yang disematkan. Ketika ITextStoreACP::GetText atau ITextStoreAnchor::GetText dipanggil dan objek yang disematkan terkandung dalam teks yang diperoleh, nilai TS_CHAR_EMBEDDED menunjukkan keberadaan dan lokasi objek yang disematkan. Untuk mendapatkan objek yang disematkan, panggil ITextStoreACP::GetEmbedded dengan posisi karakter objek yang disematkan, atau ITextStoreAnchor::GetEmbedded dengan lokasi jangkar objek yang disematkan.

Aplikasi biasanya tidak mengenali konten objek yang disematkan. Aplikasi dapat mencoba untuk mendapatkan informasi tampilan dari objek itu sendiri. Jika objek yang disematkan dapat menyediakan data dalam format yang dikenali aplikasi, seperti CF_UNICODETEXT atau CF_BITMAP, aplikasi dapat menampilkan informasi grafis yang disediakan oleh objek.

Menyisipkan Objek Tertanam

Layanan teks menyisipkan objek yang disematkan ke dalam konteks dengan memanggil ITfRange::InsertEmbedded atau ITfInsertAtSelection::InsertEmbeddedAtSelection. Layanan teks harus menyediakan IDataObject yang disematkan.