Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

раскладка клавиатуры   Найти похожие ветки 

 
amo ©   (2002-10-14 16:33) [0]

Help! Как узнать из программы какая раскладка включена русская или английская


 
Best Before 2024   (2002-10-14 16:37) [1]

GetKeyBoardLayout;


 
AL2002 ©   (2002-10-14 16:37) [2]

LoadKeyboardLayout
GetKeyboardLayout


 
roadster   (2002-10-15 13:56) [3]

о-о-о-о-й, где- то тут я писал...
если что- давно писал, молодой был, неопытный :0)
//********************************************************
//Юнит содержи фичи для переключения раскладки клавиатуры
//в пределах приложения
//********************************************************
unit kbrdtools;

interface
const
LANGUAGE_NEUTRAL ="00000000";
LANGUAGE_PROCESS_DEFAULT="00000400";
LANGUAGE_GERMAN ="00000407";
LANGUAGE_USA ="00000409";
LANGUAGE_UK ="00000809";
LANGUAGE_FRENCH ="0000040C";
LANGUAGE_ITALIAN ="00000410";
LANGUAGE_RUSSIAN ="00000419";
//*********************
//Функсьён SetLanguage ставит раскладку клавы, указанную
//в параметре Language.
//если Language не указать, будет ставиться русская раскладочка
//в качестве Language можно передать вышеописанные константы
//или вручную строку.
//подробнее про раскладки можно посмотреть в справке по
//WIN API в разделе Language Identifiers. Там можно посмотреть
//что передать в качестве параметра. Есть особенность:
//Например, для русской страницы идентификатором является 0x0419,
//значит, в качестве Language следует передать строку "00000419"
//за эти трансформации меня не надо ругать и обзывать ламером,
//потому что это в апишную LoadKeyboardLayout так надо передавать- строкой
//Пы.Сы. Функция вернет вранье, если раскладочку не удалось поставить
function SetLanguage(Language:String=LANGUAGE_RUSSIAN):Boolean;
//Функция SetRussianLanguage ставит РУССКУЮ раскладку
//На самом деле происходит SetLanguage(LANGUAGE_RUSSIAN)
function SetRussianLanguage:Boolean;
//Следующие две функции ставят в приложении соответственно
//следующую или предыдущую раскладку
function SetNextLanguage:Boolean;
function SetPreviousLanguage:Boolean;
//*********************
implementation
uses
Windows;
//*********************
function SetLanguage(Language:String=LANGUAGE_RUSSIAN):Boolean;
var
KBHandle:HWND;
begin
Result:=True;
KBHandle:=LoadKeyboardLayout(PChar(Language),KLF_ACTIVATE);
if KBHandle<>0
then begin
if ActivateKeyboardLayout(KBHandle,0)=0
then Result:=False;
end
else Result:=False;
end;
//*********************
function SetRussianLanguage:Boolean;
begin
Result:=False;
if SetLanguage(LANGUAGE_RUSSIAN) then Result:=True;
end;
//*********************
function SetNextLanguage:Boolean;
begin
Result:=False;
if ActivateKeyboardLayout(HKL_NEXT,0)<>0
then Result:=True;
end;
//*********************
function SetPreviousLanguage:Boolean;
begin
Result:=False;
if ActivateKeyboardLayout(HKL_PREV,0)<>0
then Result:=True;
end;
//*********************
end.



Страницы: 1 вся ветка

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-78234
brestmarket
2002-09-29 02:02
2002.10.24
Как определить: видна сейчас на экране опред. кол-ка DBGrid?


3-78304
UncleRu
2002-10-02 20:40
2002.10.24
картинки в Oracle9i


3-78300
aleksei
2002-10-03 15:31
2002.10.24
SyBase


4-78702
soware
2002-09-10 08:08
2002.10.24
Запуск программы ДОС


1-78399
Abajun
2002-10-15 12:30
2002.10.24
ошибка