![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Sog |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Как установить фокус на форму? Стандартное Form1.SetFocus; почему-то не работает.
Поясню: создаём новый проект и пишем простой обработчик события Form1.OnKeyDown (например такой: if Key=VK_ESCAPE then close;). После запуска приложения можно убедиться, что кнопка работает. Теперь поместим на форму компонент, скажем RadioButton из Standart. Теперь запустим программу и ткнём в компонент мышкой. Ну и всё: нажатие Esc не обрабатывается и снять выделение с RadioButton1 (есть мысль, что не обрабатывается именно поэтому) никак не получается Я понимаю, что можно обработчиком события RadioButton1.OnKeyDown сделать процедуру FormKeyDown, но это не решает вопрос с курсорными клавишами. И ещё: мне нужно поместить фокус именно на окно (на форму), а не на компонент на ней. В этом-то и проблема! Процедурой SetFocus я могу принудительно установить фокус на любой компонент, а на само окно - не могу Народ, помогите пожалуйста! Заранее спасибо. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Установи свойство KeyPreview формы в True.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Sog |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Спасибо, помогло. А как быть с курсорными клавишами? Есть возможность перехватывать их нажатие?
|
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
Неа не работает... Если фокус, например, у кнопки Это сообщение отредактировал(а) darkart - 11.12.2005, 16:36 |
|||
|
||||
| Marriage |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 4.5.2004 Где: Таганрог Репутация: нет Всего: 2 |
Ак омпонента типа TApplication не решит проблему ???
-------------------- Praemonitus, praemunitus |
|||
|
||||
| Sog |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Что за компонента и где находится? Я честно говоря не в курсе.
|
|||
|
||||
| Slayers |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 17.7.2005 Где: Харьков Репутация: нет Всего: 1 |
Ну тогда нада кинуть на форму таймер и написать вот такой код :
|
||||
|
|||||
| darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
Я так понимаю Marriage писал о TApplicationEvents, в Delphi7 находится на вкладке Additional.
|
|||
|
||||
| Sog |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
to Slayers: да, с таймером действительно работает, спасибо. А как отследить комбинацию скажем Shift+Down?
to darkart: Спасибо, нашёл. to Marriage: А как эта компонента может мне помочь? |
|||
|
||||
| darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
К примеру так:
|
|||
|
||||
![]()
|
| Правила форума "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. |