| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Отловить нажатие клавиши |
| Автор: EKoshelev 29.12.2004, 12:59 |
| Такая проблема. Мне нужно нажатие клавиш отлавливать, когда я работаю с Image (у неё там вроде нет никаких кейпрессов). Дак вот для отлавливания всяких табов и курсоров есть CMDialogKey для букв и цифр CMDialogChar (вроде), а вот как отловить Del, напирмер, я не знаю. Подскажите мне пожалуйста... |
| Автор: Bes 29.12.2004, 13:06 |
| Ммм... не совсем понимаю как можно отлавливать нажатие клавиши, если там некуда нажимать. т.е. нет ни setFocuse ни... ну вообщем как этот класс компонентов называется..?.. не помню короче, курсор туда некуда поставить. :-) (по колхозному так). Можно отлавливать кейпресы у формы и др. компонентов и считать, что это нажали. Вообщем давай подумаем.. |
| Автор: EKoshelev 29.12.2004, 13:10 |
| Bes, да ну я не очень понятно написал. На самом деле мне нужно чтобы обрабатывался какой-нибудь метод после нажатия какой-нибудь клавиши например del не взирая на то, где сейчас фокус. |
| Автор: Bes 29.12.2004, 13:13 |
| Тогда... я бы написал обработчик кейапа у формы, а потом кейапы всех др. компонентов переадресовал (или как это правильно называется) на кейап формы. |
| Автор: EKoshelev 29.12.2004, 13:24 |
| Bes извращение. А если у меня их штук сто? Или двести? Там наверняк должно быть какое-нибудь сообщение Windows. |
| Автор: Bes 29.12.2004, 13:29 |
| Хм... сомневаюсь, но спорить не буду - может быть. Однако каждый компонент отрабатывает события клавиатуры отдельно..... хотя... надо подумать. Кстати, может ты не понял - обработчик-то пишется один - там просто в собтиях есть выпадающий список в которо можно выбрать эквивалентность событию... Все равно не катит?... |
| Автор: <Spawn> 29.12.2004, 13:38 |
| У формы поставь KeyPreview в True, после чего напиши необходимый тебе код в нужных обработчиках формы, в которых тебе нужно будет иметь идентификатор того, что ты в данный момент работаешь с TImage(например отлавливать момент вхождения курсора в область TImage) |
| Автор: EKoshelev 29.12.2004, 13:41 |
| Bes, понял, конечно. Не катит. <Spawn>, попробую. |