![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как переключить раскладку клавиатуры? [D5, Win95/98, WinME]
stel © (2002-10-21 07:53:00)Как переключить раскладку клавиатуры? Везде пишут, что типа есть такая функция
SetActiveKeyboardLayout, да только
чё-то она у меня за Undeclared identifier проходит. А может быть она в каком-то пасе лежит, который я не подключи?
Novichek (2002-10-29 18:15:00) [1]да ничего я не отключал!
а хелп у меня неполный, там много чего нет. :((
Cobalt (2002-10-29 16:58:00) [2]
> Novichek © (29.10.02 14:54)
> а у меня такого в хелпе нет :(((
p.s. если вы, конечно, при установке Дельфи не отключил MS SDK Help
Song (2002-10-29 15:19:00) [3]Смотрите хэлп по WinSDK.
>а не будет ли слишком сильно нагло..
Будет.
Надо что-то самому сделать???
Смотрите LoadKeyboardLayout() - она hkl возвращает.
Novichek (2002-10-29 14:54:00) [4]а у меня такого в хелпе нет :(((
а не будет ли слишком сильно нагло если я попрошу разжевать мне что надо указать в fSysCharSet, hkl: что бы переключить на русский/английский? ПОЖАЛУЙСТА!!!
Song (2002-10-29 14:39:00) [5]The WM_INPUTLANGCHANGEREQUEST message is posted to the application"s top-level window when the user chooses an input language, either with an input language change hotkey or from the system languages menu. An application can accept the change by passing the message to the DefWindowProc function or reject the change (and prevent it from taking place) by returning immediately.
WM_INPUTLANGCHANGEREQUEST
fSysCharSet = (BOOL) wParam
hkl = (HKL) lParam;
Parameters
wParam
The lowest bit of this parameter is set if the handle of the keyboard layout can be used with the system character set. The other bits are reserved. For example, in the Russian-language version of Windows 95, this parameter has the low bit set for keyboard layout handles for English (US) and Russian, but cleared for other handles.
hkl
Value of lParam. Identifies the keyboard layout to switch to.
Novichek (2002-10-29 14:32:00) [6]подскажите пожалуйста!!!
Song (2002-10-29 14:27:00) [7]Если Вы такие вопросы задаёте, то Вам или рано заниматься АПИ или надо учить англ. язык, чтобы читать хэлп.
Novichek (2002-10-29 14:17:00) [8]а какие параметры указывать в wParam, lParam? при указывании "0" не работает.
Song (2002-10-29 09:13:00) [9]SendMessage()
Novichek (2002-10-28 18:11:00) [10]>> Song
кому и как? обьясни популярно пожалуйста.
Song (2002-10-28 14:17:00) [11]Послать WM_INPUTLANGCHANGEREQUEST
Novichek (2002-10-28 14:11:00) [12]может я что-то не так делаю но у меня идет переключение только в моем приложении...
Cobalt (2002-10-26 02:45:00) [13]Читайте внимательно справку:
Value Meaning
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.
Novichek (2002-10-26 00:20:00) [14]ни чего подобного, раскладка переключается только в моем приложении.
Novichek (2002-10-23 18:17:00) [15]>> Evgeny
ни чего подобного, раскладка переключается только в моем приложении.
Novichek (2002-10-22 18:18:00) [16]>> Evgeny
ни чего подобного, раскладка переключается только в моем приложении.
Evgeny (2002-10-22 13:51:00) [17]>каким образом? опрашивать по таймеру каждую секунду? а можно как нибудь по другому?
Сказано же опрашивай СООБЩЕНИЯ.
>через LoadKeyboardLayout() с параметром KLF_ACTIVATE не получается.
LoadKeyboardLayout("00000419", KLF_ACTIVATE); // русский
Это работает в полный рост.
Novichek (2002-10-22 12:59:00) [18]а можно ли переключить раскладку из своей программы горячими клавишами в любом другом активном в данный момент приложении, и если можно то как?
через LoadKeyboardLayout() с параметром KLF_ACTIVATE не получается.
Novichek (2002-10-22 12:18:00) [19]каким образом? опрашивать по таймеру каждую секунду? а можно как нибудь по другому?
Diamond Cat (2002-10-22 00:11:00) [20]реагировать на сообщения
WM_INPUTLANGCHANGE и WM_INPUTLANGCHANGEREQUEST