![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
У меня форма закрывает весь экран, на ней вводится пароль, хотелось бы видеть в удобном мне месте на форме индикатор раскладки клавиатуры.
Подскажите что на форме сделать такого, что бы отображало язык руссский/английский? |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 6 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
Короче сдела я уже такую штуку, но тот код, что нассылке висит с ошибками!
Правильно вопрос звучит так: Как помести на форму приложения в удобное мне место стандартную языковую панель, ну та , что рядом с трейем?? |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
В ВинХП просто перетащи на нужное тебе место
По другому ее не перетащишь. Только свою рисовать. Да это и не сложно. тот же спидбатон легко приспасабливается для данных нужд. Если хотишь, чтобы всегда висел, то положи на отдельную маленькую формочку и вешай поверх всех окон. |
|||
|
||||
| Nicholas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 30.9.2004 Репутация: нет Всего: 0 |
Я так и сделал, просто хотелось, что на ней все настройки стандартной панели были доступны. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Ну, если сможешь получить хэндл окна языковой панели (это может быть затруднительно, если ее нет на экране (у меня нет)), то можно просто передавать ей события маускликов. Правда не уверен наверняка, что у него есть персональный хэндл. В 9х его скорее всего нет. В XP должен быть, но я не проверял... Уменя языковая панель вообще в системе отсутствует, поэтому проверить не могу...
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Попробуй Windows.SetParent (wndLangPanel, YourPanel.Handle);
Добавлено @ 11:53 Только не забудь вернуть обратно (но это не очень хороший способ всё равно, лучше сам рисуй)... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Это лишнее. А если прога повиснет/заглючит... А если переключиться на другую прогу...
Оптимально просто ловить клик левой и правой кнопы. При их получении соответственно посылать тот же самый месседж системному переключателю. Но если брать реально. То по идее нужен только левый батон - для переключения языка. Так что совершенно незачем вообще трокать системный переключатель - все более, чем просто. Нажали - сделали переключение. И заморочек меньше, и код аккуратней, и различные заглюки исключены. |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Имхо легче самому нарисовать панельку (GetKeyboardLayout), и вручную переключать раскладки (ActivateKeyBoardLayout), чем передавать клики (еще и неизвестно чему, если нет яз.панели)... -------------------- С уважением, г-н Посол. |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Именно. Я об этом и говорю. Если хочется, чтобы был системный переключатель, то просто передавать ему свои клики.
Но вариант далеко не гарантированный. Вероятность того, что работать не будет больше 70% Поэтому лучше делать свою кнопку и оставить в покое системный переключатель. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |