Мов, мов і розкладок клавіатури

Мова є природною мовою, наприклад, англійської, французької та японської. Sublanguange — це варіант природної мови, якою певного географічного регіону, таких, як англійська, sublanguages у Великій Британії та Сполучених Штатів. Win32-додатків за допомогою значень, які називаються Мова ідентифікатори, для однозначної ідентифікації мови та sublanguages.

Програми зазвичай використовують локалей встановити мову, в якому вводу та виводу обробляється. Встановлення мови для клавіатури, наприклад, впливає значення символів, створений за допомогою клавіатури. Встановлення мови для відображення або друку впливає гліфи відображається або друкується. Програми встановити мову клавіатури, для завантаження і використання розкладки клавіатури. Вони встановити мову для відображення або принтер, вибравши шрифт, який підтримує даний локалі.

Розкладка клавіатури не тільки визначає фізичної положення клавіші на клавіатурі, а також визначає характер значення, отримані за допомогою цих клавіш. Кожен макет визначає поточною мовою вводу та визначає, які значення символу генеруються які ключі та сполучень клавіш.

Кожен розкладку клавіатури має відповідний маркер, що визначає макет і мови. Ідентифікатор мови є низьким word ручки. Високі слова є дескриптор пристрою, вказавши фізичної макет, або дорівнює нулю, із зазначенням фізичної режим за замовчуванням. Користувача можна пов'язати будь-яку мову вводу з даного фізичної макет. Наприклад, англійська мова користувача, який дуже рідко працює французькою мовою можна встановити мови вводу, розкладки клавіатури Французька без зміни фізичної розкладку клавіатури. Це означає, що можна ввести текст французькою мовою за допомогою знайомі Англійська макет.

Програми зазвичай не очікується маніпулювати мови вводу безпосередньо. Замість цього, користувач встановлює мову та розкладку комбінацій, а потім переключається між ними. Коли користувач натискає на текст, позначений іншою мовою, програма викликає функцію ActivateKeyboardLayout , щоб активувати режим користувача за замовчуванням для цієї мови. Якщо користувач редагує тексту в мову, яка не активного списку, застосування функцію можна буде викликати LoadKeyboardLayout з мовою, щоб отримати макет на основі цієї мови.

ActivateKeyboardLayout функція визначає мову вводу для поточного завдання. Hkl параметр може бути ручка розкладці клавіатури або ідентифікатор нуль extended мови. Ручки розкладки клавіатури можуть бути отримані від функції LoadKeyboardLayout або GetKeyboardLayoutList . Значення HKL_NEXT та HKL_PREV, також можна вибрати наступний або попередній клавіатури. Для деяких операційних систем KLF_UNLOADPREVIOUS значення не має сенсу і ігнорується.

GetKeyboardLayoutName функція отримує ім'я активного розкладки для виклику потоку. Якщо застосунок створює активний макет за допомогою LoadKeyboardLayout функції, GetKeyboardLayoutName повертає рядок же, який використовується для створення макета. В іншому випадку, рядок є ідентифікатором основну мову, що відповідає локалі активний макет. Це означає, що функція може не обов'язково диференціювати серед різних макетах з ж основну мову, так не може повернути докладні відомості про мову вводу. GetKeyboardLayout функція, однак, використовується для визначення мови вводу.

Функція LoadKeyboardLayout навантажень розкладку клавіатури і робить макета доступними для користувачів. Додатки можна зробити макет негайно активним для наявного потоку за допомогою KLF_ACTIVATE значення. Заявку можна використовувати значення KLF_REORDER для зміни послідовності макетів без також вказуючи KLF_ACTIVATE значення. Застосунки повинні завжди використовувати значення KLF_SUBSTITUTE_OK при завантаженні розкладки клавіатури забезпечити, що налаштування користувача, якщо вибрано. Для деяких операційних систем KLF_UNLOADPREVIOUS значення ігнорується.

Багатомовна підтримка функція LoadKeyboardLayout передбачає KLF_REPLACELANG і KLF_NOTELLSHELL позначки. Прапор KLF_REPLACELANG направляє функції замінити існуючі розкладки клавіатури без зміни мови. Спроба замінити наявний макет, використовуючи той же ідентифікатор мови, але без specifying KLF_REPLACELANG це повідомлення про помилку. Прапор KLF_NOTELLSHELL запобігає функція функції оболонки, коли розкладку клавіатури додається або замінити. Це зручно для додатків, що додати кілька макетів у послідовних серію викликів. Цей прапор повинні бути використані у всіх, але останній дзвінок.

UnloadKeyboardLayout функція є обмеженим, в тому, що його не можна вивантажити системи мова вводу за замовчуванням. Це гарантує, що користувач завжди має один макет для введення тексту, використовуючи той же характер встановити як використовується системою оболонки і файл.

Index