PDA

Просмотр полной версии : Button не обрабатывает нажатие Enter


sangle
05.09.2007, 19:44
Как сделать так, чтобы Button реагировал на нажатие Enter?
Я новичок, поэтому приношу извинения за глупый вопрос:
На Button нельзя повесить обработчик нажатия клавиши?
press обрабатывает только нажатия мышки и пробел.
Вешать два обработчика keyDown, keyUp как-то не по приколу.

silin
05.09.2007, 21:26
не очень ясно о чем речь, но возможно ты смотришь в IDE, а там Enter (и еще какие-то клавиши) не доходит до флешки, смотреть надо в плеере/браузере там Enter нормально ловится по "keyDown"

sangle
06.09.2007, 11:21
to silin
Рассмотрим вариант: я нажал мышкой на кнопке, а потом увёл её с этой самой кнопки. Это не считается нажатием. А по keyDown обработается как нажатие. Т.е. получается, что мне нужно отслеживать ещё и keyUp. А это не очень удобно. В том же Делфи есть KeyPress, который происходит, когда keyDown и keyUp пойманы одним и тем же элементом.

etc
06.09.2007, 11:38
Вообще говоря, все элементы ловят нажатие на клавиши клавиатуры и мышь тут совсем непричем. Есть такое понятие, как фокус. Если кнопка в фокусе, то она должна слать события при keyDown. Если нет, то ничего не слать.

sangle
06.09.2007, 11:41
to __etc
Да, при нажатии она в фокусе. Но ты можешь увести мышку с обьекта и отпустить кнопку мышки - это не нажатие, а keyDown отловить его как нажатие.

BlooDHounD
06.09.2007, 11:49
Вот довели же борланды народ своей делфи. Люди совсем не понимают как это всё внутри устроенно.

silin
06.09.2007, 12:17
Да, при нажатии она в фокусе. Но ты можешь увести мышку с обьекта и отпустить кнопку мышки - это не нажатие, а keyDown отловить его как нажатие.
путаница: keyDown не отловит то, что ты описываешь (потому как это событие от клавиш)
см. "click" и другие мышиные события..

sangle
06.09.2007, 12:19
to silin
Упс... Да, Вы правы. Спасибо за ответ.
Тему можно закрывать.