Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Вниз

Отображение переключения раскладки клавиатуры   Найти похожие ветки 

 
FREEMAN   (2004-02-24 16:12) [0]

Добрый день!!! Помогите!!! Как можно отобразить переключение
языка RU/EN у своего приложения в ststusbar"e?
Заранее благодарен.


 
Anatoly Podgoretsky   (2004-02-24 16:13) [1]

С помощью TLabel, свойство Caption


 
FREEMAN   (2004-02-24 16:24) [2]

Мне нужно узнать какая сейчас стоит раскладка, а при ее изменении изменить информацию о ней в статусбаре(как это сделано в офисе)


 
МАКСЮХА   (2004-02-24 16:24) [3]


> Anatoly Podgoretsky © (24.02.04 16:13) [1]

Товарищ, простите за идиотский вопрос :) но как узнать, что именно писать в "TLabel, свойство Caption", RU или EN?


 
FREEMAN   (2004-02-24 16:27) [4]

Ну наверное узнать можно так GetLayotkeyboard или что то в этом роде, но как сделать что бы при изменении языка Caption тоже менялся.


 
Hooch   (2004-02-24 16:30) [5]

если не ошибаюсь, ловить WM_INPUTLANGCHANGE


 
FREEMAN   (2004-02-24 16:31) [6]

А вот с этого момента можно поподробнее с картинками, плиз


 
Anatoly Podgoretsky   (2004-02-24 16:39) [7]

http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N127


 
Игорь Шевченко   (2004-02-24 16:40) [8]

http://www.schevchenko.net.ru/SRC/EnumFunctions_60.zip


 
Serge   (2004-02-24 18:07) [9]

[5] + WM_INPUTLANGCHANGEREQUEST+Ловушки (о которых почитай в статьях "Hooks" - аспекты реализации. by Aleksey Pavlov (C))

Приведенной ниже процедурой я добавлял в меню список установленных раскладок (не только RU,EN!)

Procedure TForm1.GetKbdLayouts;
Var TM: TMenuItem;
s, SS: String;
BMP: TBitmap;
R_: TRect;
LayoutName: Array[0..KL_NAMELENGTH] Of Char;
LangName: Array[0..63] Of Char;
hImeList: Array[0..19] Of HKL;
cnt, i: byte;
lf: TLogFont;
Begin
cnt := GetKeyBoardLayoutList(20, hImeList);
For i := 0 To cnt - 1 Do
Begin
// ActivateKeyBoardLayout(hImeList[i], 0);
// GetKeyboardLayoutName(@LayoutName);
ss := IntToHex(LoWord(hImeList[i]), 8);
// ss := LayoutName;
FillChar(LangName, SizeOf(LangName), #0);
GetLocaleInfo(StrToInt("$" + ss), LOCALE_SLANGUAGE Or LOCALE_NOUSEROVERRIDE, @LangName, SizeOf(LangName));
TM := TMenuItem.Create(Self);
TM.OnDrawItem := Form1.aDrawItem;
TM.OnMeasureItem := Form1.MeasureItem;
TM.OnClick := Form1.CheckLanguage;
TM.RadioItem := True;
TM.Hint := IntToStr(LangNumber);
TM.Caption := LangName;
TM.Tag := hImeList[i];
ss := "";
ss := TM.Caption;
delete(ss, 3, length(ss));
BMP := TBitmap.Create;
BMP.Width := 16; BMP.Height := 16;
R_ := Rect(0, 0, 16, 16);
With BMP.Canvas Do
Begin
SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), @lf, 0);
Brush.Color := GetSysColor(COLOR_HIGHLIGHT); //clred; //$000080FF;
FillRect(R_);
Font.Color := GetSysColor(COLOR_HIGHLIGHTTEXT); //clwhite;
font.size := 7;
drawtext(handle, pchar(ss), length(ss), R_, DT_SINGLELINE + DT_VCENTER + DT_CENTER);
End;
TM.Bitmap := BMP;
Bitmap2IconH(bmp, clblack, ico16, Ic);
IconList.AddIcon(Ic);
PopUpMenu2.Items.Insert(LangNumber, TM);
Inc(LangNumber);
End;
End;



 
savva   (2004-02-24 18:10) [10]

ну и я внесу свою лепту:)
http://delphibase.endimus.com/?action=viewfunc&topic=sysparams&id=10256



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

Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
8-12461
Rog
2003-11-01 08:11
2004.03.05
недостаточно ресурсов для обработки команды


1-12315
Yurko
2004-02-25 15:08
2004.03.05
Из ресурсов в ImageList без потери палитры


3-12287
snake7
2004-02-07 10:37
2004.03.05
Provider=Microsoft.Jet.OLEDB.4.0


1-12349
Ivolg
2004-02-22 10:22
2004.03.05
Popupmenu?


1-12413
WondeRu
2004-02-24 16:18
2004.03.05
EOleException: Разрушительный сбой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский