|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.10.2012, 20:07 | #1 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
Получить код нажатой клавиши на картинке
Здравствуйте. Проблема такая.
На картинке сначала идет щелчок мышкой, потом нажимается клавиша. Нужно получить код этой клавиши. Проблема в том, каким событием это обработать. Есть ли у Имиджа какое - нибудь свойство подобное OnKeyPress? |
30.10.2012, 20:37 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Событие OnkeyPress в дельфях идет от класса TWinControl, а TImage порождается напрямую от TControls в обход этого класса.
Так что, вероятнее всего, придется писать собственный класс, наследующий все лучшее от двух вышеназванных, либо искать левые компоненты, где все это реализовано.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
30.10.2012, 20:40 | #3 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
А если "вручную" прикрутить событие(я имею ввиду procedure ProcName(Params...); message кое-что )? Тоесть перехватить message.
|
30.10.2012, 20:47 | #4 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
А если кинуть на форму какой нибудь прозрачный компонент типа paintbox(типа, но не его) и поставить выше(brighttofront) timage?
|
30.10.2012, 20:52 | #5 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Да можно и без этого всего тогда... На событие OnKeyPress формы проверять положение мыши, и если ее координаты внутри картинки - делать, что нужно.
Ну или другое какое условие - по желанию и необходимости. Я просто думал, что надо именно TImage заставить реагировать на нажатие... UPD. Был прав, да не во всем... Если на форме есть активный элемент типа кнопки с фокусом на нем, то не сработает. То есть - нужно писать процедуру проверки нажатия и вгонять ее в KeyPressed всех компонент формы... тягомотно как-то
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
30.10.2012, 21:24 | #6 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Можно проверять нажата ли клавиша по ее коду с помошью функции
Код:
|
01.11.2012, 16:46 | #7 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
Спасибо за ваши ответы, сейчас попробую!
|
27.11.2012, 01:43 | #9 |
Пользователь
Регистрация: 31.05.2010
Сообщений: 12
|
в принципе решил вашу проблему(хотя конечно смотря для чего),но для примитива,если актуально могу поделиться
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить ASCII код нажатой клавиши. | vovken1997 | Общие вопросы Delphi | 2 | 16.04.2012 22:59 |
asm получить код нажатой клавиши... (?) | Denutrror | Общие вопросы Delphi | 15 | 31.03.2012 16:19 |
код нажатой клавиши Delphi | all_is_fear | Помощь студентам | 1 | 02.12.2011 10:35 |
код нажатой клавиши | galaid | Общие вопросы Delphi | 4 | 24.05.2009 20:03 |
вывести код нажатой клавиши | fclmhooligan | JavaScript, Ajax | 0 | 22.10.2008 09:32 |