Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отображение раскладки в Label

10K
28 ноября 2005 года
Zeleniy
12 / / 13.07.2005
Привет All'ы!

проблема в том, что мне нужно не только переключать программно раскладку языка (любого, не только русского и английского), но и еще обображать их имена(как в системе: en,ru, kz) в label.

первую часть проблема я нашал как решать, но вот как правильно отобразить kln_active я не знаю ((((((((((((((((((


буду очень счастлива, если кто-нить мне подскажет.
303
29 ноября 2005 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by Zeleniy
Привет All'ы!


проблема в том, что мне нужно не только переключать программно раскладку языка (любого, не только русского и английского), но и еще обображать их имена(как в системе: en,ru, kz) в label.

первую часть проблема я нашал как решать, но вот как правильно отобразить kln_active я не знаю ((((((((((((((((((


буду очень счастлива, если кто-нить мне подскажет.


GetKeyboardLayoutName - возвращает название активной раскладки клавиатуры.

10K
29 ноября 2005 года
Zeleniy
12 / / 13.07.2005
Цитата:
Originally posted by makbeth
GetKeyboardLayoutName - возвращает название активной раскладки клавиатуры.



я испробывала много всего, НО как получить именно буквенный эквивалент (en,ru, it, kk и тд)?
эта функция вовращает числовой (0х409,0х419).

303
30 ноября 2005 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by Zeleniy
я испробывала много всего, НО как получить именно буквенный эквивалент (en,ru, it, kk и тд)?
эта функция вовращает числовой (0х409,0х419).


Сорри, не досмотрел... :0
В общем, можешь поиграться с классом TLanguages (есть один глобальный экземпляр класса, его возвращает функция Languages), там есть названия раскладок. Только, насколько я помню, там возвращается полное имя (типа "English (United States)", "Russian" и т.д.).

4.8K
30 ноября 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by Zeleniy
я испробывала много всего, НО как получить именно буквенный эквивалент (en,ru, it, kk и тд)?
эта функция вовращает числовой (0х409,0х419).


case x of
#$409: label1.caption := 'en';
#$419: label1.caption := 'ru';
end;

что-то типа того.

10K
01 декабря 2005 года
Zeleniy
12 / / 13.07.2005
Вася Триллер

читай внимательно.
мне нужно не только ДВА языка, но и другие, о которых я еще не знаю (может у чела стоят помимо русского и английского- китайский и казахский....)

makbeth

спасибо, за подсказку. о классе пока еще ничего не читала, но со своей проблемой справилась оказалось все очень просто!

//перехваетывает сообщение, отвечающие за переключение раскладки языка.
procedure TMainWindow.MsgHandler(var Msg: TMsg; var Handled: Boolean);
var AbbrLangSystem: array[0..KL_NAMELENGTH] of char;
begin
//сообственно говоря, само сообщение
if Msg.message = WM_INPUTLANGCHANGEREQUEST then begin


//перекллючает язык
ActivateKeyboardLayout(HKL_NEXT, KLF_ACTIVATE);

//выводит аббривиатуру текущего языка
GetLocaleInfo(LoWord(GetKeyboardLayout(0)),LOCALE_SISO639LANGNAME ,@AbbrLangSystem,SizeOf(AbbrLangSystem));

//ну и отображаем в Лабле
Label1.Caption:=UpperCase(AbbrLangSystem);
end;
end;

procedure TForm1.FormCreate(Sender : TObject);
begin
Application.OnMessage:=MsgHandler;
end;
4.8K
01 декабря 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by Zeleniy
читай внимательно.
мне нужно не только ДВА языка, но и другие, о которых я еще не знаю (может у чела стоят помимо русского и английского- китайский и казахский....)


Я это прекрасно понимаю. :)
Но педложить что-либо, кроме как вручную перебирать языки и их коды, к сожалению, не могу. Хотя...

http://www.google.com/search?ie=UTF-8&hl=ru&q=%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9%20%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D0%B5%D0%B9%20%D0%B8%20%D0%B8%D1%85%20%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2
Яндекс вам в помощь.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог