Wzorzec kontrolki TextEdit
Wprowadza wytyczne i konwencje implementowania ITextEditProvider, w tym informacje o właściwościach i metodach. Wzorzec sterowania TextEdit służy do programowego dostępu do kontrolki modyfikującej tekst, na przykład kontrolki wykonującej automatyczną korektę lub umożliwiającą kompozycję wejściową.
Nuta
Uwagi dotyczące implementacji w tym temacie dotyczą interfejsów API pochodzących z struktury usług tekstowych (TSF). Aby uzyskać więcej informacji na temat TSF i dokumentacji interfejsu API, zobacz Text Services Framework.
Wymagane elementy członkowskie ITextEditProvider
Te właściwości i metody są wymagane do zaimplementowania interfejsu ITextEditProvider.
Wymagane elementy członkowskie | Typ elementu członkowskiego | Notatki |
---|---|---|
GetActiveComposition | Metoda | Zwraca zakres bieżącej konwersji (brak, jeśli nie ma konwersji). Zwróć aktywną kompozycję (w TSF jest to zakres oznaczony przez GUID_PROP_COMPOSING). Na przykład w edytorze IME (Microsoft Japanese Input Method Editor) będzie to pełny podkreślony tekst. |
GetConversionTarget | Metoda | Zwraca bieżący zakres docelowy konwersji (brak, jeśli nie ma konwersji). W TSF jest to zakres znaków oznaczonych jako TF_ATTR_TARGET_NOTCONVERTED lub TF_ATTR_TARGET_CONVERTED ze struktury TF_DISPLAYATTRIBUTE. |
Zdarzenia TextEditTextChanged i ConversionTargetChanged muszą być wywoływane przez elementy automatyzacji interfejsu użytkownika firmy Microsoft obsługujące wzorzec TextEdit.
TextEditTextChanged
- Użyj funkcji UiaRaiseTextEditTextChangedEvent, aby zgłosić zdarzenie TextEditTextChanged.
- W poniższej tabeli wymieniono przypadki, w których należy zgłosić zdarzenie, oraz parametry UiaRaiseTextEditTextChangedEvent do użycia.
TextEditChangeType | Ładunek zdarzenia | Notatki |
---|---|---|
autokorekty | Nowy poprawiony ciąg | Podniesione, gdy kontrolka wykonuje automatyczną korektę. Lub za każdym razem, gdy zastąpienie jest wykonywane za pośrednictwem TSF, a zakres ma GUID_PROP_TKB_ALTERNATES wartość TKB_ALTERNATES_AUTOCORRECTION_APPLIED. |
kompozycji | Zaktualizowany ciąg | Ładunek musi zawierać tylko zmienione znaki (nie wysyłaj całego ciągu kompozycji). Podniesione za każdym razem, gdy następuje wymiana kompozycji. W TSF zastąpienie kompozycji jest definiowane jako zamiennik, który ma zestaw flagi GUID_PROP_COMPOSING. Kontrolki edycji implementujące TSF mogą monitorować te zmiany za pośrednictwem powiadomienia OnEndEdit. |
KompozycjaFinalizowane | Sfinalizowany ciąg kompozycji (patrz Uwagi) | W TSF finalizowany ciąg konwersji jest definiowany przez flagę GUID_PROP_COMPOSING usuwaną z kompozycji. Edytowanie kontrolek implementowania TSF powinno określać sfinalizowany ciąg z EndComposition i zgłaszać zdarzenie po wywołaniu OnEndEdit. Sfinalizowany ciąg kompozycji może być pusty, jeśli kompozycja została anulowana lub usunięta. |
ConversionTargetChanged
- ConversionTargetChanged występuje, gdy obiekt docelowy konwersji zmienia się z jednego obiektu docelowego na inny.
- Użyj funkcji UiaRaiseAutomationEvent, aby zgłosić zdarzenie ConversionTargetChanged (przekaż identyfikator zdarzenia UIA_TextEdit_ConversionTargetChangedEventId).
- ConversionTargetChanged nie należy zgłaszać, gdy zawartość obiektu docelowego ulegnie zmianie. Jeśli zmiana docelowa wystąpi równocześnie ze zmianą składu, zdarzenie zmiany docelowej musi zostać podniesione po zebraniu zdarzeń składowych.
- W TSF obiekt docelowy konwersji jest definiowany przez TF_ATTR_TARGET_CONVERTED wartości ustawianej ze struktury TF_DISPLAYATTRIBUTE. Zmiany można monitorować przy użyciu OnEndEdit.
Tematy pokrewne
-
koncepcyjne
-
Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie