| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Обработать OnKeyDown в зависимости от языка |
| Автор: Fedor 5.12.2004, 03:08 |
| Собсно, САБЖ. Нужно определять, какой язык у клавиатуры или может еще как-то. З.Ы. Попробывал по WM_INPUTLANGCHANGEREQUEST, не получается... |
| Автор: Zero 5.12.2004, 11:33 | ||
|
| Автор: Satana 5.12.2004, 11:35 |
| а тебе не проще будет обрабатывать по коду нажатой клавиши? они ж на всех языках получаются разными... |
| Автор: Fedor 5.12.2004, 13:36 | ||||
Дык, я это первым делом сделал. Но тот пример что там выдает стандартный язык Винды у меня этот Русский и всегда у меня результат - русский.
Попробую... |
| Автор: <Spawn> 5.12.2004, 14:21 |
| Satana А как ты таким способом, к примеру, определишь раскладку при нажатии на 0..9? |
| Автор: Fedor 5.12.2004, 14:42 |
| Я попробывал на OnKeyPress, но потом понял, что мне нужно еще определять такие клавиши, как влево, вправо, ... и так не получается |
| Автор: Zero 5.12.2004, 15:36 |
| Morpheus, а ты не пробывал оба обработчика использовать, например все символы ты будеш проверять на OnKeyPress, а Клавиши (лево, право, ..., 0..9) на OnKeyDown. Или у тебя есть принцип, по которому нужно только один обработчик использовать. |
| Автор: <Spawn> 5.12.2004, 16:18 | ||
Попробуй вот это:
|
| Автор: Fedor 5.12.2004, 23:20 |
| Ок. Спасибо. Работает. А какой код у украинского языка. Иил где вообще можно эти коды узнать? |
| Автор: Satana 5.12.2004, 23:30 |
| Morpheus а тебе нада будет определять какой код у клавишь функцией ord Пример: ord('а') результатом будет какоето число. 2 <Spawn> А какая разница какой язык когда ты цифрами то пользуешься? зачем его тогда ваще определять? |
| Автор: Fedor 5.12.2004, 23:37 |
| Я имел в виду - у русского языка код 00000419, а английского - 00000409. А какой у украинского? |
| Автор: RA 6.12.2004, 00:44 |
| Ну тут мало у кого есть возможность узнать код украинской раскладки, а вообще ты сам можешь это увидеть юзая туже var Buffer: array[1..KL_NAMELENGTH] of Char; ... GetKeyboardLayoutName(@Buffer) ShowMessage(Buffer); |
| Автор: Fedor 6.12.2004, 00:59 |
| Ну я туплю..... RAdmin Спасибо, что навел на путь истинный... |
| Автор: <Spawn> 6.12.2004, 05:37 | ||
Я имею ввиду комбинацию цифр и символов. Может ему отображать в программе нужно текующую раскладку. Все зависит от того, для чего ему это нужно. |