Команда Foxpro Keyboard - PullRequest
       11

Команда Foxpro Keyboard

0 голосов
/ 14 октября 2010

Когда я использую команду клавиатуры, она работает в среде отладки Foxpro, но при сборке .exe команда Keyboard не работает.Когда форма Foxpro находится в фокусе, даже при нажатии F1 ничего не происходит, пока я не отключил фокус от запущенного приложения?

Пример

КЛАВИАТУРА F1

В режиме отладки не .exe прекрасно работает, а в режиме .exe ничего не делает?

Ответы [ 4 ]

1 голос
/ 15 октября 2010

Несмотря на то, что @DaveB является верным для подсистемы справки F1, вы все равно можете обойти и заставить нажатие клавиш работать с помощью кнопки «ON KEY LABEL» ... что-то вроде ...

ON KEYЭТИКЕТКА F1 CallYourFunction ()

Но «CallYourFunction» не может быть ссылкой на любое «This».или "Thisform."Однако, если у вас есть глобальная переменная для какого-либо объекта, с которым вы хотите связать F1, вы можете сделать это и так ... например,

oMyGlobalVar = Thisform
ON KEY LABEL F1 oMyGlobalVar.SomeFunction()

, тогда с вашей KEYBOARD {F1} будет правильно вызыватьсяфункция или object.function.

1 голос
/ 14 октября 2010

Я думаю, что это дизайн.Файл справки не является частью exe, он является частью среды разработки.Таким образом, при запуске приложения вне среды разработки FoxPro файл справки недоступен.

0 голосов
/ 06 июня 2014

Идеально, но не безопаснее

На ключевой метке F5 _Screen.ActiveForm.cmdnew.Click

Идеально, но безопасно

Загрузка события - главная форма This.KeyPreview =.T.

KeyPress Event - основная форма

LPARAMETERS nKeyCode, nShiftAltCtrl
If m.nKeyCode = -4 && F5
   Nodefault
   Thisform.cmdNew.Click()
Endif

Другой трюк

Public oMyGVar

oMyGVar = Thisform
ON KEY LABEL F1 oMyGVar.SomeFunction()
0 голосов
/ 29 октября 2010

Где у вас есть команда KEYBOARD? Это кнопка Click () на форме или другой метод?

Команда KEYBOARD вставляет ключ в буфер клавиатуры для обработки Windows. DRapp предлагает ON KEY LABEL, который позволяет вам настроить функциональность нажатия клавиш до того, как пользователь нажимает клавишу

Но я не уверен, что именно ты пытаешься сделать первым.

Рик Шуммер - VFP MVP

...