![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Rusman |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.5.2006 Где: Пермь Репутация: нет Всего: нет |
Подскажите пожалуйста как создать событие на ESC?
Спасибо! |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
|
|||
|
||||
Rusman |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.5.2006 Где: Пермь Репутация: нет Всего: нет |
Странно, но не рботает |
||||
|
|||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
На форме наверное есть элементы, которые отбирают фокус
|
|||
|
||||
Rusman |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.5.2006 Где: Пермь Репутация: нет Всего: нет |
Ага, сделал так, но проблема решена не полностью. Вот я вызываю из главное формы форму, потом нажимаю ESC у меня закрывается, потом снова вызываю эту же форму но уже при нажатии ESC она не закрывается, только после перезапуска программы.
|
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Посмотри аттач. Закрывается и с первого, и второго, и со сто двадцать пятого
![]() Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
Virtuals |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 1 Всего: 11 |
тебе-ж сказали
соответственно просто убери захват фокуса элементами с формы |
|||
|
||||
pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
кидаешь на форму кнопку TButton и выстваляешь ей свойство
а в событии OnClick:
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
Olegan |
|
|||
![]() Крутой сисадмин ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 752 Регистрация: 15.5.2007 Репутация: нет Всего: 105 |
а так? |
|||
|
||||
Alexzz |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 9.4.2007 Где: Латвия Репутация: 1 Всего: 1 |
Меня заинтересовала одна строчка в твоём коде:
Правильно ли я понял, что это свойство установленное в True позволяет событиям основной формы проверять коды нажатых клавиш прежде чем любой другой объект на форме? Собственно я как раз ищу такой способ, так как тоже столкнулся с перехватом фокуса другими объектами и сложностями с обработкой глобальных клавиш, которые должны выполняться независимо от того, где на форме находится фокус. |
||||
|
|||||
VICTAR |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
да
PS это свойство можно выставить в инспекторе объектов. В примере так сделано "чтобы заметили" =) |
||||
|
|||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
интересно кто мне такой боольшой минус 3 поставил?
и за что? отзовись... мануал гласит:
естественно это не подходит для окна_без_кнопок -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
hunterpro |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 6.8.2008 Где: Ростов-на-Дону Репутация: нет Всего: нет |
вот же лосось даже у меня работает!!!! )))))
![]() |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
pseud, ставил не я, но я тебе обьясню за что.
Да, можно кинуть кнопку. Да, можно сделать ее невидимой и тогда можно добиться эфекта окна_без_кнопок. Но программисту будет видна эта кнопка в design-time. А смысл ее будет только в том, что бы закрыть форму. Грубо говоря - это извращения. Раньше я встречал ответы типо "Кинь Memo, сделай Memo.Visible:= False и делай в нем все, что хочешь." Твой ответ с той же оперы. Кинув первый взгляд на такие ответы создается впечатление непрофессиональности автора. Увидев подобный проект... Ведь если тебе нужна таблица с фиксированным количеством столбцов и строк, ты ведь не будешь ее делать при помощи несколькиз едитов, а воспользуешься гридом. Так и тут, зачем для закрытия формы использовать кнопку, если можно сделать все средствами самой формы? По меньшей мере это не логично. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
Poseidon, я не предлагал сделать кнопку невидимой. сам такое не признаю.
но если у меня модальная форма (простая_сущность, настройки, о_программе, логин, и пр.), то там почти всегда есть кнопки ОК-Отмена. которым я немедля в дизайне выставляю:
и в итоге больше ничего прописывать не надо. окно само закрывается по Esc с возвратом mrCancel. если форма немодальная и на ней есть кнопка Отмена, то ей в обработчик пишу Close. не я выдумал этот механизм, а Borland. переубеди меня если я не прав, или опять: -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |