Как закрыть окно по нажатию Enter в Password-field?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- morkovin
- Ветеран
- Сообщения: 936
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Как закрыть окно по нажатию Enter в Password-field?
ABC
Простое Login-окно с полями Login, Password и кнопками OK+Cancel. Как при вводе пароля и нажатии Enter выполнить закрытие окна ( т.е. действия по кнопке ОК)? Сейчас в поле пароля нет реакции на Enter и приходится делать лишние движения- или Tab(переход на Ок) или кликать мышкой по Ок.
Простое Login-окно с полями Login, Password и кнопками OK+Cancel. Как при вводе пароля и нажатии Enter выполнить закрытие окна ( т.е. действия по кнопке ОК)? Сейчас в поле пароля нет реакции на Enter и приходится делать лишние движения- или Tab(переход на Ок) или кликать мышкой по Ок.
WBR, morkovin
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Как закрыть окно по нажатию Enter в Password-field?
Повесить на поле ввода пароля AlertKey = EnterKey
По событию Event:Accepted на поле ввода пароля выполняем:
Все. 
По событию Event:Accepted на поле ввода пароля выполняем:
Код: Выделить всё
If ~Window{Prop:AcceptAll} and (KeyCode() = EnterKey) then Post(Event:Accepted,?OkButton).

Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5190
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как закрыть окно по нажатию Enter в Password-field?
А разве не достаточно указать кнопке "ОК" статус "DefaultButton"? На кнопке же "ОК" идёт проверка на правильность ввода пароля, если пароль не тот, то отправляемся обратно на поле "Password".
We are hard at work… for you. 

- morkovin
- Ветеран
- Сообщения: 936
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Как закрыть окно по нажатию Enter в Password-field?
В данном случае я использую SecWin3(от Capesof) и решил отказаться от стандартного Логин-окна от Capesoft, т.к. там присутствет соверш. ненужная ссылка(см. рис.) Опционально можно использовать своё окно. Но все привыкли (и я в т.ч.) завершать Enter-ом в поле пароля.кнопке же "ОК" идёт проверка на правильность ввода пароля, если пароль не тот, то отправляемся обратно на поле "Password"
Спасибо! Заработало. Вставил код вот сюда:Повесить на поле ввода пароля AlertKey = EnterKey
По событию Event:Accepted на поле ввода пароля выполняем
WBR, morkovin
- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Как закрыть окно по нажатию Enter в Password-field?
Пожалуйста, но это не есть правильно ....
У Вас код будет срабатывать на все события, и например может не пройти присвоение
значения переменной из поля ввода. Конечно можно и это обработать, но проще повесить
обработку EnterKey именно на событие завершения ввода, как я написал ранее.
Make Clarion Great Again ! 
- morkovin
- Ветеран
- Сообщения: 936
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Как закрыть окно по нажатию Enter в Password-field?
именно так сделал изначально - и не сработало.обработку EnterKey именно на событие завершения ввода
WBR, morkovin
-
- Полимат
- Сообщения: 1830
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 28 раз
- Поблагодарили: 10 раз
Как закрыть окно по нажатию Enter в Password-field?
не понял а чем стандартные средства не проходят? поле пасворд и кнопка ок в исключение и ок по умолчанию
- Вложения
-
- Enter.jpg (6.75 КБ) 3256 просмотров
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5190
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как закрыть окно по нажатию Enter в Password-field?
А почему не повесить на событие AlertКеу. Кстати, ещё неплохо бы при этом, если надо, переменную синхронизировать с экранной:
Код: Выделить всё
update(?)
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8090
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Как закрыть окно по нажатию Enter в Password-field?
Это потому, что я неправильно написал .... извиняюсь ...
Нужно вешать событие не на Accepted, а на AlertKey, а EnterKey прописать в списке Alert Keys.
Make Clarion Great Again ! 
-
- Полимат
- Сообщения: 1830
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 28 раз
- Поблагодарили: 10 раз
Как закрыть окно по нажатию Enter в Password-field?
по моему нажатие в три щелчка проще и все работает, при том не один год 

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- morkovin
- Ветеран
- Сообщения: 936
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Как закрыть окно по нажатию Enter в Password-field?
этот вариант остаётся для консерваторовнажатие в три щелчка проще и все работает

WBR, morkovin