Форум: "WinAPI";
Текущий архив: 2002.06.13;
Скачать: [xml.tar.bz2];
ВнизПереключение языка из программы Найти похожие ветки
← →
lvv (2002-04-02 10:37) [0]Уважаемые коллеги подскажите пож.
Не знаю как переключить язык в чужом окне handle которого известен. Использование ActivateKeyboardLayout успешно переключает к сожалению только в текущей нити.
Спасибо.
← →
Song (2002-04-02 10:52) [1]Копайте в этом напрвлении:
WM_INPUTLANGCHANGE, WM_INPUTLANGCHANGEREQUEST
← →
elefant (2002-04-02 11:07) [2]unit
Windows;
--------------------------------
LoadKeyboardLayout("00000419",KLF_ACTIVATE);
//Ru
LoadKeyboardLayout("00000409",KLF_ACTIVATE);
//En
← →
Song (2002-04-02 11:31) [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 current thread, 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?
← →
lvv (2002-04-10 10:49) [4]Извените за назойлевость, но не получается никак.
Уважаемый Song если у Вас есть пример применения WM_INPUTLANGCHANGE, WM_INPUTLANGCHANGEREQUEST подскажите т.к.
я запутался. Спасибо.
← →
Song (2002-04-11 15:59) [5]
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;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.06.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c