1

どの入力デバイスが特定の GUI イベントをトリガーしたかを簡単に知る方法があるかどうか疑問に思っています。

例:TButton.OnClickイベントが発生します。ユーザーがキーボードを押してトリガーしたか (ショートカット、Enterデフォルト ボタンのspaceキー、フォーカスされたボタンのキーなど)、またはマウス クリックでトリガーしたか? 簡単に見分ける方法はありますか?

私が知りたい理由は、ユーザーがマウスを使用してキーボードでも実行できるアクションを開始するときに、キーボードの使用に関するヒントをいくつかのアプリケーションに実装できるようにするためです。製造現場のシステムはかなりほこりっぽい/汚れた環境にあり、マウスはそこにうまく持ちこたえられない傾向があります. また、多くの場合、マウスを使用するスペースがあまりありません。(いいえ、テンキーのないキーボードは解決策ではありません。依存度が高すぎます。)

ただし、私たちのアプリは Windows で実行されるため、ユーザーは自宅で行うのと同じようにマウスを使ってプログラムを使用する傾向があります。これには特に問題はありませんが、入力ワークフローを最適化してキーボード フレンドリーになるように努力しました。マウスをつかまなくてもユーザーが行っていることを実行できる方法があることをユーザーに示す、影響の少ない方法があればいいのですが。

4

1 に答える 1

4

中から見分ける方法はありませんOnClick。ただし、マウスがロールオーバーしたときに発生するイベントをコントロールにアタッチすることもできます。これは、とにかくやろうとしていることにより適しているでしょう。OnMouseEnterおよびOnMouseLeaveイベントを参照してください。また、マウスがクリックされたときに何か特定のことが起こるようにしたい場合は、それを にアタッチできますOnMouseUp

于 2012-01-27T18:10:14.430 に答える