2017-03-10 15 views
1

Visual FoxPro 9モーダルフォームのKeyPreviewプロパティをtrueがモーダルフォームでF9とF10キーの押下をキャッチする方法

に設定されている私は、フォームのKeyPressイベントで

LPARAMETERS nKeyCode, nShiftAltCtrl 

messagebox(nKeyCode) 

を試みたが、メッセージボックスは表示されません。 上矢印または文字を押すと、メッセージボックスが表示されます。

F9とF10キーの押さえ方は?

答えて

0

VFP IDEでは、F1、F2、およびF10が動作を予約しているため、オーバーライドできないようです。ただし、アプリケーションの一部としてフォームをコンパイルする場合、期待どおりに動作するはずです。

編集:私はそれを試みましたが、F10はまだ_SCREENのメニューをアクティブにします。 F1とF2が検出された。

私のテストフォームをトップレベルフォームにして、config.fpwにSCREEN = OFFを設定しました。その後、プログラムを再コンパイルし、最終的にF10がKeyPressイベントで検出されました。

したがって、何らかの組み込みの動作があります。回避する必要があります。 ON KEY LABEL F10を使用できるかどうかを確認することもできます。

+0

画面にはモードレスフォームも含まれているため、_screenをオフにすることはできません。 Initメソッドを作成するために 'KEY LABEL f9 MESSAGEBOX( 'F9 pressed')'と 'ON KEY LABEL f10 MESSAGEBOX( 'F10 pressed')'を追加しようとしましたが、メッセージボックスは表示されません。アプリケーションには、モーダルフォームがアクティブな場合に無効にされるF9、F10ホットキーを持つシステムメニューが含まれています。おそらく、このメニューはF9とF10キーを無効にします。 – Andrus

関連する問題