![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Дароф. Кто нить может мне подсказать как считать программно какой язык включен (русский, английский и т.д.)... от отловить переключение (не зависимо от того как человек переключается - на Ctrl+Shift или Alt+Shift)...
Спасибо... |
|||
|
||||
| Lence |
|
|||
|
Чухарадземадзупэ ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 9.5.2006 Где: Ташкент Репутация: 3 Всего: 3 |
определяешь через GetKeyboardLayoutName(Lang) ; какие цифры на конце
Это сообщение отредактировал(а) Lence - 3.9.2006, 22:55 --------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой .... |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Спасибо, но вот второй вопрос был.... Есть ли какой нить сигнал который можно перехватить при переключении (Ctrl+Shift или Alt+Shift)???? Или проверять оба варианта???
|
|||
|
||||
| Lence |
|
|||
|
Чухарадземадзупэ ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 9.5.2006 Где: Ташкент Репутация: 3 Всего: 3 |
можно HOOK повесить на комбинации клавишь .... или тебе системно надо узнать смену языка ? --------------------
Шуруп, забитый молотком, крепче сидит чем гвоздь, закрученный отверткой .... |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Я понимаю что можно повесить на клавиши, но а если перемена языка произойдет с помощью мышки, то я не отслежу это... так что как-то необходимо перехватить сигнал??? но я не могу пока понять как это сделать???
|
|||
|
||||
| Fedia |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Перехватить изменение раскладки клавиатуры можно в Application.OnMessage, перехватывая сообщение WM_INPUTLANGCHANGEREQUEST. Примерно так:
-------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
||||
|
|||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
А если к примеру я буду проверять раскладку при вводе, то мне необходимо
или я не правильно понял перехват??? |
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Угу Fedia показал метод перехвата изменения раскладки в тот момент когда она реально производится. Application.OnMessage:=AppMsg; - имеет смысл присваивать в обработчике onCreate формы в
имеет смысл вставить
т.е. определение какую раскладку установили (в тот момент когда установили, поскольку сообщение прийдет сразу после изменения раскладки) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Rodman
Отслеживать изменение нужно в своём приложении или вообще в системе, независимо от того активна программа или нет? |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Отследить мне нужно только во время работы моего приложения, конкретно во время ввода пароля... Как в WebMoney... во время ввода возле поля высвечивается текущий язык...
|
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
тогда
надо присвоить сразу после создания (показа) дилога (панели) для ввода пароля. И
после завершения оперции (успешного входа) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
А если во время ввода произойдет смета раскладки???
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Rodman, тогда сработает обработчик
В нем вместо ShowMessage('Изменилась раскладка клавиатуры'); надо вставить код который будет возвращать старую раскладку или все что еще так понадобится. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
ОК.... т.е. как я понял на Edit1.OnChange необходимо повесить
Так??? |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Rodman
Тебе объяснять, что в пустой колодец лить. Сказали же, что в OnCreate. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Yanis, Я думаю что ему вначале надо почитать, что такое сообщения вообще, как они отсылаются, почему отсылаются и как принимаются и обрабатываются.
Добавлено @ 13:41 Надо открыть любой учебник по Windows и прочитать хотя бы первую главу. Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 14:54 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Ну не надо драматизировать. Все когда то начинали, и не у всех все получалось...
Я задал такой вопрос, - "Куда добавлять" потому что OnCreate как Вы знаете выполняется 1 раз, а смена языка может производится неоднократно... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Мы совсем не драматизируем, все нормально. Просто чтоб начать програмировать под на Delphi необходимо выучить основы програмирования под Windows (хотя бы принципы). Это займет на самом деле часа 3-4, а потом уже многое станет ясным само по себе -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |