powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про использование горячих клавиш
7 сообщений из 7, страница 1 из 1
Вопрос про использование горячих клавиш
    #32462389
Muric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый День!
По нажатии определенной кнопки происходит активация дочерней формы со всеми ее объектами. В этой форме по следующему нажатию этой же кнопки должны происходить какие-нибудь другие действия, что происходит, но одновременно происходит повторная активация этой формы. т.е. сколько раз нажимаешь столько раз и активируется. Как отключить дейстиве этой кнопки в дочерней форме?
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32462431
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как это оформлено? По ON KEY LABEL?
Тогда помогут PUSH KEY CLEAR и POP KEY. Между ними можно смело переопределять назначение клавиши.
Но такая технология действует совершенно в разрез с объектно-ориентированным подходом. Программировать с применением стека назначений клавиш тем затруднительней, чем больше применяется объектно-ориентированный подход. Лучше задействовать свойства KEYPREVIEW и методы KEYPRESS форм. И в последних для разных форм на нажатие одной и той же клавиши предусмотреть желаемые действия.
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32462432
chel99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй следующее:

В Activate Event дочерней формы пропиши:
push key clear
дальше все on key для этой формы

В Deactivate Event этой дочерней формы пропиши:
pop key all
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32462445
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2chel99

pop key all в общем случае применять нельзя, так как она очистит все промежуточно сохраненные в стеке состояния и восстановит самое внешнее.
pop key же без all выйдет на предыдущее состояние.
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32462572
chel99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я извивиняюсь за неточность. Да, конечно pop key без all. Спасибо Urri, за то что поправил.
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32462643
vl2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или можно так:

В событии АктиватФорм пишем:
ON KEY
ON KEY LABEL F2 DO FORM main_form

В событии АктиватФорм формы main_form пишем:
ON KEY
ON KEY LABEL F2 DO FORM user_form


Получается при активировании формы она удаляет все горячие клавиши, а когда дочерняя закрывается- востанавливает их (т.к. для родительской опять наступает событие Активирование формы). Пуши и Попы уже не нужны
...
Рейтинг: 0 / 0
Вопрос про использование горячих клавиш
    #32463919
SSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSV
Гость
А не проще (и правильней) как писал Urri, писать в каждой форме обработку горячих клавиш в keyPress методе, при установленном свойстве keyPreview = .T., чем изголяться с on key label?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про использование горячих клавиш
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]