Kompozisyon
Oluşturma, metin hizmetinin hem uygulamaya hem de kullanıcıya giriş metninin hala değişiklik durumunda olduğunu belirtmesini sağlayan geçici bir giriş durumudur. Bir uygulama, oluşturma hakkında görüntüleme özniteliği bilgilerini alabilir ve bu bilgileri kullanarak kullanıcıya oluşturma durumunu görüntüleyebilir.
Bir bileşimin kullanımına bir örnek, konuşma girişi sırasındadır. Kullanıcı konuşurken konuşma metin hizmeti bir oluşturma oluşturur. Konuşma girişinin tamamı tamamlanana kadar bu bileşim değişmeden kalır. Oturum sona erdiğinde konuşma metin hizmeti bileşimi sonlandırır.
Uygulama, bir bileşimin varlığını ve yokluğunu kullanarak metnin nasıl görüntüleneceğini ve varsa metin üzerinde işlemenin nasıl gerçekleştirileceğini belirler. Örneğin, kullanıcı metin girişi için konuşma altyapısını kullanıyorsa, uygulama herhangi bir oluşturma metni üzerinde yazım veya dil bilgisi denetimi yapmamalıdır. Oluşturma sonlandırılana kadar metin tamamlanmamış olarak kabul edilir.
Metin Hizmetleri
Metin hizmeti, ITfContextComposition::StartCompositionçağırarak bir oluşturma oluşturur. Metin hizmeti isteğe bağlı olarak, oluşturma olayı bildirimleri alan bir ITfCompositionSink nesnesi uygulayabilir. StartComposition, metin hizmetinin başvuruyu tuttuğu ve bileşimi değiştirmek ve sonlandırmak için kullandığı bir ITfComposition nesnesi döndürür. Metin hizmeti, ITfComposition::EndCompositionçağrısı yaparak bileşimi sonlandırır.
Metin hizmeti bileşimler oluşturacaksa, uygulamanın bir bileşimin parçası olan metni standart metinden farklı bir şekilde görüntülemesini sağlamak için görüntüleme özniteliklerini de desteklemelidir. Daha fazla bilgi için bkz. Görüntüleme Öznitelikleri Sağlama.
Uygulama
Bir uygulama, ITfContextOwnerCompositionSink havuzu yükleyerek oluşturma, değiştirme ve sonlandırma işlemlerini izleyebilir. Oluşturma başlatıldığında ITfContextOwnerCompositionSink::OnStartComposition çağrılır. Benzer şekilde, bir bileşim değiştirildiğinde veya sonlandırıldığında, sırasıyla ITfContextOwnerCompositionSink::OnUpdateComposition ve ITfContextOwnerCompositionSink::OnEndComposition çağrılır.
Aşağıda, bir belgeyi oluşturma kullanarak güncelleştirmeye ilişkin tipik bir yordam verilmiştir.
- ITextStoreACP::InsertTextAtSelection veya ITextStoreAnchor::InsertTextAtSelection genellikle ilk metni bileşime eklemek için kullanılır.
- Oluşturma, InsertTextAtSelectiontarafından döndürülen metin aralığı kullanılarak ITfContextComposition::StartCompositionçağrısıyla başlatılır.
- Konuşma veya klavye girişi gibi yeni girişler aldığında, uygulama ITextStoreACP::SetText veya ITextStoreAnchor::SetTextile bileşimi güncelleştirir.
- Uygulama, bileşimi sonlandırma zamanının geldiğini belirlediğinde, ITfComposition::EndCompositionçağırır.
Uygulama, metin hizmeti tarafından sağlanan görüntüleme özniteliklerini kullanarak yalnızca bir oluşturma etkinken değil, metnin görüntülenmesini her zaman değiştirmelidir. Daha fazla bilgi için bkz. Görüntüleme Özniteliklerini Kullanma.
Gerekirse, bir uygulama ITfContextOwnerCompositionServices::TerminateCompositionçağırarak bir bileşimi sonlandırabilir.