Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.09.2013, 13:02
|
|||
---|---|---|---|
|
|||
keypress формы и её объектов |
|||
#18+
Всем доброго времени суток! Очень хотелось бы уточнить. Столкнулся с похожей необходимостью, а в топике по соответствующей теме ( http://www.sql.ru/forum/1030317/goryachaya-klavisha?hl=??????? ??????? ) предложен вариант для "назначения" горячей клавиши для кнопки на форме. Хоть застрелите меня, но именно так не работает. Если написать код из command1.keypress в keypress формы, а в кнопке оставить только код клика, то всё красиво работает (разумеется не для всех клавиш и их сочетаний). Вопрос: если пример правильный и у меня что-то криво работает в мозгах, то с какого перепуга при нажатии нужной клавиши при нахождении на форме должен отрабатывать keypress объекта (в данном случае кнопки)??? Ведь насколько знаю при keypreview=.t. первым получает событие keypress формы, а затем keypress активного элемента управления и никакой другой. Код в топике: Чтобы использовать F1 на форме 1) свойство формы KeyPreview установить в True 2) т.к. за клавишей F1 закреплен вызов help отключаем его в init form set help off 3) в command.click прописываете команды которые закреплены за клавишей WAIT [f1 click] window 4) в command.keypress пишем код который отлавливает нажатие клавиш Lparameters nKeyCode, nShiftAltCtrl If nKeyCode = 28 This.Click() Endif DoDefault() Я назначал F3 для вызова события cklick кнопки на форме. Спрашиваю, потому что подобных примеров увидел не один, но реализовать именно таким образом так и не получилось. Использую VFP9, win7 максимальная ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.09.2013, 14:06
|
|||
---|---|---|---|
|
|||
keypress формы и её объектов |
|||
#18+
А не пробовал на самой кнопке назначить горячую букву в свойстве Caption, например: "\<Помощь". Тогда по клавише "П" она будет срабатывать, и не нужно будет назначть функциональные клавиши. Знак "\<" назначет следующую за ней букве признак горячей клавиши. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.09.2013, 16:37
|
|||
---|---|---|---|
keypress формы и её объектов |
|||
#18+
ВладимирТК, 4) в form .keypress, а не в command.keypress ну и естественно не this.click(), а this.mybutton.click() ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.09.2013, 16:46
|
|||
---|---|---|---|
keypress формы и её объектов |
|||
#18+
Если в KeyPress() формы выполнить NoDefault то до KeyPress() активного котрола не дойдет. Как-то так в Form.KeyPress() Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2013, 17:06
|
|||
---|---|---|---|
|
|||
keypress формы и её объектов |
|||
#18+
tanglir, я собственно так сразу и сделал. Меня именно пример интересовал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2013, 17:08
|
|||
---|---|---|---|
|
|||
keypress формы и её объектов |
|||
#18+
Dima T, конечно не дойдёт ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.09.2013, 17:10
|
|||
---|---|---|---|
|
|||
keypress формы и её объектов |
|||
#18+
Дед Евгений, считаю очень не логичным назначать "горячие буквы" для кнопок на форме. Функциональные ещё куда не шло, да и то при крайней необходимости, коя у меня и возникла ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582909]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 23ms |
total: | 272ms |
0 / 0 |