![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
Попробовал вот так:
не помогает, никакой реакции.... Как же её всё таки отловить? |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
kent
А что должно произойти то? если ничего, то Key := 0; |
|||
|
||||
| kent |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
закрытие формы, я же выше пример привел:
|
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Не срабатывает потому, что активен какой-то компонент на форме. Поэтому форма и не ловит.
Попробуй ловить или у компонента, или кинь на форму TApplicationEvents и лови им. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
kent, показывай весь код -- толи у тебя у формы KeyPrreview стоит и ты клавиши затираеш толи не на тот Delete жмеш ( например на цифровой с отключенной раскладкой ) толи фокуса на Memo нет.
именно этот кусок вполне рабочий -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
kent
Странно, у меня твой пример работает. Если конечно фокус находиться в Memo1 Попробуй так поставь Form1.KeyPreview := true;
Тогда на любом контроле ловиться будет. И еще посмотри не обрабатываешь ли ты где всякие KeyPress or KeyUp Это сообщение отредактировал(а) ~FoX~ - 4.10.2005, 11:00 |
|||
|
||||
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
а мне нужно чтобы Memo ловил, а не форма... |
|||
|
||||
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
У меня он стоит как ShortCut у одного пункта меню, попробовал поставить в ShortCut = SHift + Del, и всё заработало... Можно ли как нибудь это обойти(просто клавиша Del отвечает за удаление в Memo)? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Фокус ей передай
Memo1.SetFocus; -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
а откуда форма знает что Memo хоче клавиши перехватывать?
правильно -- не откуда поэтому сойдет частичное решение -- ставь принудительно фокус на Memo -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
_hunter, Romikgy
Попробовал вот так
и поставил в ShortCut опять Del опять не реагирует... |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
kent
а ты лови у формы и проверяй фокус у мемо. Добавлено @ 11:48
Это сообщение отредактировал(а) Rennigth - 4.10.2005, 11:49 -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
kent, дык а толку с такого кода? -- нет у memo фокуса -- не вызовется процедура -- не самоустановится фокус. а если фокус есть -- зачем его ставить?
Добавлено @ 12:06 Rennigth, -- аналогично. если бы фокус был у memo -- клавишу можно было бы ловить у него. если не поймал -- значит нет у него фокуса -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
to Rennigth
Попробовал, все равно никакой реакции... to _hunter
В том то всё и дело что фокус у Memo есть(курсор то в нем мигает) но есть и ShortCut = Del у одного пункта меню, который всё портит и как обойти его непонятно... Это сообщение отредактировал(а) kent - 4.10.2005, 12:39 |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
kent
Тогда так:
Это сообщение отредактировал(а) ~FoX~ - 4.10.2005, 13:00 |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
~FoX~
скорее всего непоможет, менюшка наверное раньше ловит и обнуляет key ... -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Rennigth
Если так, то в обработчике менюшке проверять стоитли фокус в мемо и если да то вызвать мемовский обработчик, а если нет собственным пользоваться. Палка то о двух концах |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
~FoX~
Угу, вариант. Кстати Kent вроде не сказал что вообще обработки никуда недоходят. Сейчас проверил, при присвоенном ShortCut-е по этой комбинации клавишь вообще кроме как в меню события не приходят Даже ApplicationEvents.onShortCut отдыхает... Это сообщение отредактировал(а) Rennigth - 4.10.2005, 13:30 -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| kent |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
~FoX~
И это не помогает блин... Вот так работает:
а вот так нет:
|
||||
|
|||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Блин, ну это уже полный изврат.....ИМХО проще сменить шорткут в меню. |
|||
|
||||
| kent |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 6.5.2005 Где: Russia Репутация: нет Всего: 1 |
~FoX~
Всё работает как часы Спасибо тебе большущее!!! С меня + |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Короче вот что у меня получилось.
Form1.KeyPreeview := true;
Не успел......ну да ладно, этот пример менее извращен, ИМХО, и тоже вроде рабочий... Вобщем удачи тебе. Это сообщение отредактировал(а) ~FoX~ - 4.10.2005, 15:57 |
|||
|
||||
![]()
|
| Правила форума "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. |