07.10.2003, 10:51 | #1 |
Участник
|
как отловить событие
Задумка, такая - необходимо, чтобы в гриде, при нажатии на Enter, управление переходило не к полю справа от текущего, а к полю снизу от текущего.
Для этого думаю необбходимо отлавливать событие нажатия кнопки. Подскажите пожалуйста как оно называется. PS да и еще необходимо прежде чем изменять значение в поле предыдущее значение куданибудь скидывать, короче говоря необходимо знать название события передачи фокуса управления. Очень хотелось бы знать названия этих событий Заранее огромное спасибо |
|
07.10.2003, 10:59 | #2 |
----------------
|
События
Нажатие Enter можно отловить в методе task на форме.
События могут быть разные gotFocus, enter, mouseEnter, посмотрите описание методов в Руководстве разработчика (Methods on form controls). |
|
07.10.2003, 12:08 | #3 |
Участник
|
ну дайте хотя бы ссылочку конкретную, а то происходит блуждание от одного события к другому, это понятно, что ето одно из событий, а руководстве очень мутно написано, очень нужно поконкретнее.
Заранее спасибо |
|
07.10.2003, 13:00 | #4 |
Участник
|
Нечто подобное я делал для ввода серийных номеров и гарантийных сроков для гарантийных талонов с помощью сканера штрих-кода. Не могу сказать, что мое решение изящное, однако ничего другого я придумать не смог. Вот оно (у нас на гриде две контролки, в которых при нажатии Enter курсор переходит на следующую запись, назовем их Control1 и Control2):
1. Заводим переменную curControl для хранения номера текущей контролки. 2. Перекрываем методы mouseDown на нужных контролках следующим образом: PHP код:
PHP код:
PHP код:
6. Перекрываем modified для Control1 и Control2: PHP код:
Единственное ограничение этого решения - то, что с Control1 и Control2 нельзя перейти Tab'ом. P.S. Пока писал, понял, что более красиво можно было сделать тоже самое, если сохранять на номер комнтролки, а ссылку на нее. |
|
07.10.2003, 13:50 | #5 |
Участник
|
Спасибо большое
|
|