КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Підтримка мовДля завантаження нової мови використовується функція LoadKeyboardLayout. Перший аргумент цієї функції вказує на ідентифікатор мови (лінійка з 16-ковим кодом), наприклад: англійська мова має код (0х0409), де молодше слово вказує на ідентифікатор мови, а старше – на дескриптор пристрою, драйвер підтримки мови. В функцію записується символьне значення мови "00000409". Другий аргумент також визначає додатковий прапор, який може приймати одне із значень в табл.3.21.
Таблиця 3.21. Значення прапора для розкладки клавіатури При успішному виконанні функція поверне ідентифікатор (тип HKL) завантаженої мови. Для вивантаження любої мови використовується функція UnloadKeyboardLayout, яка повертає ненульове значення при успішному виконанні. Функція застосовується для вибору текучої мови. Перший її аргумент вказує на ідентифікатор мови і може приймати одне з двох значень: HKL_NEXT – вибрати наступну мову із списку і HKL_PREV – вибрати попередню мову із списку. Другий аргумент вказує на прапор мови і приймає значення: KLF_REORDER (описаний в табл.3.21), KLF_RESET – скинути блокування використання великих літер (тільки для Windows 2000), KLF_SHIFTLOCK - включити блокування використання великих літер (тільки для Windows 2000). Для отримання інформації використовуються також функції: GetKeyboardLayout i GetKeyboardLayoutName, перша з яких повертає числовий ідентифікатор (тип HKL) текучої мови, а друга – лінійку з іменем розкладки ("00000409"). Реалізація даних функцій наведена в проміжному фрагменті програми нижче. Покроковий хід роботидля написання макета програми на мові С++ для використання мов кирилиці. 1. Завантажуємо російську розкладку клавіатури: 2. Для реалізації російської розкладки клавіатури надаємо змінній hRus системного типу HKL значення, яке визначається функцією LoadKeyboardLayout з параметрами: "00000409"- код мови і макросом KLF_REORDER для перезамовлення російської кирилиці. 3. Робимо російську мову текучою: 4. Порівнюємо, якщо змінна hRus не NULL, то: 5. Робимо активною російську мову за допомогою системної функції ActivateKeyboardLayout задаючи в ній параметр мови – hRus і параметр KLF_REORDER – макрос для реалізації активності. 6. При закінченні роботи з російською клавіатурою, вивантажуємо її: 7. Використовуємо системну функцію UnloadKeyboardLayout з параметром мови кирилиці – в даному випадку hRus.
Варіанти практичних завдань: Написати фрагменти програм на мові С++.
|