Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переключение языка из программы [D5, Win95/98, WinME, NT4, Win2k, WinXP]


lvv ©   (2002-04-02 10:37:00) 

Уважаемые коллеги подскажите пож.
Не знаю как переключить язык в чужом окне handle которого известен. Использование ActivateKeyboardLayout успешно переключает к сожалению только в текущей нити.
Спасибо.


Song   (2002-04-11 15:59:00) [1]


type
TMainWnd = class(TForm)
LabLang: TLabel;
public
procedure WmInputLangChange( var msg :TMessage ); message WM_INPUTLANGCHANGE;
end;

procedure TMainWnd.WmInputLangChange(var msg: TMessage);
var
szBuf : array[0..KL_NAMELENGTH] of Char;
begin
GetKeyboardLayoutName( @(szBuf[0]) );
LabLang.Caption := "Keyboard layout was set to "
+ string(szBuf)
+ " at " + FormatDateTime( "hh:nn:ss", Time ) ;
end;


lvv   (2002-04-10 10:49:00) [2]

Извените за назойлевость, но не получается никак.
Уважаемый Song если у Вас есть пример применения WM_INPUTLANGCHANGE, WM_INPUTLANGCHANGEREQUEST подскажите т.к.
я запутался. Спасибо.


Song   (2002-04-02 11:31:00) [3]

2elefant (02.04.02 11:07)
KLF_ACTIVATE
If the given layout is not already loaded, the function loads and activates the layout for the currentthread, inserting the layout at the head of the keyboard layouts list in front of the previously active layout. If the layout is already loaded and the KLF_REORDER value is not given, the function simply rotates the keyboard layouts list, making the next layout the active layout.

А он разве про current?


elefant   (2002-04-02 11:07:00) [4]

unit
Windows;
--------------------------------

LoadKeyboardLayout("00000419",KLF_ACTIVATE);//Ru
LoadKeyboardLayout("00000409",KLF_ACTIVATE);//En


Song   (2002-04-02 10:52:00) [5]

Копайте в этом напрвлении:
WM_INPUTLANGCHANGE, WM_INPUTLANGCHANGEREQUEST


Наверх

Титульная страница Поиск, карта сайта Написать письмо