Как закрыть окно по нажатию Enter в Password-field?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
morkovin
Ветеран
Сообщения: 936
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Как закрыть окно по нажатию Enter в Password-field?

Сообщение morkovin »

ABC
Простое Login-окно с полями Login, Password и кнопками OK+Cancel. Как при вводе пароля и нажатии Enter выполнить закрытие окна ( т.е. действия по кнопке ОК)? Сейчас в поле пароля нет реакции на Enter и приходится делать лишние движения- или Tab(переход на Ок) или кликать мышкой по Ок.
WBR, morkovin
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8090
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 29 раз
Поблагодарили: 98 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение Игорь Столяров »

Повесить на поле ввода пароля AlertKey = EnterKey
По событию Event:Accepted на поле ввода пароля выполняем:

Код: Выделить всё

If ~Window{Prop:AcceptAll} and (KeyCode() = EnterKey) then Post(Event:Accepted,?OkButton).
Все. :)
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5190
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение kreator »

А разве не достаточно указать кнопке "ОК" статус "DefaultButton"? На кнопке же "ОК" идёт проверка на правильность ввода пароля, если пароль не тот, то отправляемся обратно на поле "Password".
We are hard at work… for you. :)
Аватара пользователя
morkovin
Ветеран
Сообщения: 936
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Как закрыть окно по нажатию Enter в Password-field?

Сообщение morkovin »

кнопке же "ОК" идёт проверка на правильность ввода пароля, если пароль не тот, то отправляемся обратно на поле "Password"
В данном случае я использую SecWin3(от Capesof) и решил отказаться от стандартного Логин-окна от Capesoft, т.к. там присутствет соверш. ненужная ссылка(см. рис.)
28.01.png
Опционально можно использовать своё окно. Но все привыкли (и я в т.ч.) завершать Enter-ом в поле пароля.
Повесить на поле ввода пароля AlertKey = EnterKey
По событию Event:Accepted на поле ввода пароля выполняем
Спасибо! Заработало. Вставил код вот сюда:
28.02.png
28.02.png (5.29 КБ) 3286 просмотров
WBR, morkovin
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8090
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 29 раз
Поблагодарили: 98 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение Игорь Столяров »

morkovin писал(а): Вставил код вот сюда:
Пожалуйста, но это не есть правильно ....
У Вас код будет срабатывать на все события, и например может не пройти присвоение
значения переменной из поля ввода. Конечно можно и это обработать, но проще повесить
обработку EnterKey именно на событие завершения ввода, как я написал ранее.
Make Clarion Great Again ! 😎
Аватара пользователя
morkovin
Ветеран
Сообщения: 936
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Как закрыть окно по нажатию Enter в Password-field?

Сообщение morkovin »

обработку EnterKey именно на событие завершения ввода
именно так сделал изначально - и не сработало.
WBR, morkovin
gopstop2007
Полимат
Сообщения: 1830
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 28 раз
Поблагодарили: 10 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение gopstop2007 »

не понял а чем стандартные средства не проходят? поле пасворд и кнопка ок в исключение и ок по умолчанию
Вложения
Enter.jpg
Enter.jpg (6.75 КБ) 3257 просмотров
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5190
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение kreator »

А почему не повесить на событие AlertКеу. Кстати, ещё неплохо бы при этом, если надо, переменную синхронизировать с экранной:

Код: Выделить всё

update(?)
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8090
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 29 раз
Поблагодарили: 98 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение Игорь Столяров »

morkovin писал(а): именно так сделал изначально - и не сработало.
Это потому, что я неправильно написал .... извиняюсь ...
Нужно вешать событие не на Accepted, а на AlertKey, а EnterKey прописать в списке Alert Keys.
Alert.jpg
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1830
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 28 раз
Поблагодарили: 10 раз

Как закрыть окно по нажатию Enter в Password-field?

Сообщение gopstop2007 »

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

Как закрыть окно по нажатию Enter в Password-field?

Сообщение morkovin »

нажатие в три щелчка проще и все работает
этот вариант остаётся для консерваторов :)
WBR, morkovin
Ответить