Języki, ustawienia regionalne i układy klawiatury

Język jest języka naturalnego, takich jak język angielski, francuski i japońskim. Sublanguange to wariant języka naturalnego, który jest używany w określonego regionu geograficznego, takich jak angielski sublanguages używany w Wielkiej Brytanii i Stanach Zjednoczonych. Aplikacje oparte na Win32 należy użyć wartości, nazywanych identyfikatorów języków, do identyfikacji języków i sublanguages.

Aplikacje zazwyczaj używają ustawień regionalnych ustawić język w których wejście i wyjście jest przetwarzany. Na przykład, ustawienia regionalne dla klawiatury, dotyczy wartości znaków generowanych przez klawiaturę. Ustawienia regionalne dla ekranu lub drukarki dotyczy glify wyświetlane lub drukowane. Aplikacje ustawić ustawienia regionalne dla klawiatury przy załadunku i układami klawiatury. Ustanawiają one ustawienia regionalne dla ekranu lub drukarki, wybierając czcionki, która obsługuje danego ustawienia regionalne.

Układ klawiatury nie tylko określa fizyczne położenie klawiszy na klawiaturze, ale również określa wartości znaków generowane przez naciśnięcie tych klawiszy. Każdy układ określa bieżący język a określa, które wartości znaków są generowane przez które klucze i kombinacje klawiszy.

Każdy układ klawiatury ma odpowiedni uchwyt, identyfikujący język i układ. Niższe słowo dojście jest identyfikator języka. Wyższe słowo to dojście urządzenia, określając fizyczny układ, lub jest równa zero, wskazując domyślny układ fizyczne. Użytkownika można skojarzyć każdy język z danym fizyczny układ. Na przykład użytkownik anglojęzycznych, który bardzo rzadko działa w języku francuskim można ustawić język klawiatury do francuskiej bez zmieniania fizyczny układ klawiatury. Oznacza to, że użytkownik może wprowadzić tekst w języku francuskim przy użyciu znanych układu angielski.

Aplikacje zwykle nie oczekuje się bezpośrednio manipulować języki. Zamiast tego użytkownik konfiguruje kombinacji językowych i układ, następnie przełącza się między nimi. Gdy użytkownik kliknie na tekst oznaczony jako inny język, aplikacja wywołuje funkcję ActivateKeyboardLayout , aby uaktywnić użytkownika domyślnego układu dla tego języka. Jeśli użytkownik edytuje tekstu w innym języku, który nie znajduje się w obrębie aktywnej listy, aplikacja może wywołać funkcję LoadKeyboardLayout z językiem uzyskanie układ na podstawie tego języka.

Funkcja ActivateKeyboardLayout określa język dla bieżącego zadania. Parametr hkl może być uchwyt na układ klawiatury albo identyfikator języka rozszerzone zera. Obsługuje układ klawiatury, można otrzymać funkcję LoadKeyboardLayout lub GetKeyboardLayoutList . Wartości HKL_NEXT i HKL_PREV można również zaznaczyć następny lub poprzedni klawiatury. Dla niektórych systemów operacyjnych wartości KLF_UNLOADPREVIOUS nie ma znaczenia i jest ignorowane.

Funkcja GetKeyboardLayoutName pobiera nazwę układu aktywny język klawiatury dla wywołania wątku. Jeśli aplikacja tworzy aktywny układ przy użyciu funkcji LoadKeyboardLayout , GetKeyboardLayoutName pobiera ten sam ciąg używany do tworzenia układu. W przeciwnym razie ciąg jest identyfikator podstawowy język odpowiadający ustawieniom aktywny układ. Oznacza to, którą funkcja nie może niekoniecznie rozróżnienie między różne układy z tego samego podstawowego języka, więc nie może zwrócić informacje na temat języka. Funkcja GetKeyboardLayout , jednak może służyć do określenia języka.

Funkcja LoadKeyboardLayout ładuje układ klawiatury i sprawia, że układ są dostępne dla użytkownika. Aplikacje można go układ natychmiast uaktywnić dla bieżącego wątku przy użyciu wartości KLF_ACTIVATE. Aplikacji można użyć wartości KLF_REORDER chcesz zmienić kolejność układy nie też określenie wartości KLF_ACTIVATE. Wnioski należy zawsze używać wartości KLF_SUBSTITUTE_OK podczas ładowania układy klawiatury zapewnienie preferencji użytkownika, jeśli występuje, jest zaznaczona. Dla niektórych systemów operacyjnych są ignorowane wartości KLF_UNLOADPREVIOUS.

Do obsługi wielu języków funkcja LoadKeyboardLayout zawiera flagi KLF_REPLACELANG i KLF_NOTELLSHELL. Flaga KLF_REPLACELANG poleca funkcji Zastąp istniejący układ klawiatury bez zmiany języka. Próby zastąpienia istniejącego układu przy użyciu tego samego identyfikatora języka, ale bez określania KLF_REPLACELANG, występuje błąd. Flaga KLF_NOTELLSHELL zapobiega funkcję powiadamiania powłoki, kiedy układ klawiatury jest dodawany lub zastąpione. Jest to użyteczne w przypadku aplikacji, które dodać wielu układów w szeregu kolejnych zaproszeń. Flaga ta powinna być stosowana w wszystkie, oprócz ostatniego wywołania.

Funkcja UnloadKeyboardLayout jest ograniczony nie może zwolnić język systemu. Gwarantuje to, że użytkownik zawsze ma jednego układu dostępnych dla wprowadzania tekstu przy użyciu tego samego zestawu używane przez system powłoki i plik znaków.

Index