Q7:@テキストフィールド(数値入力フィールド)で、キーイベントを取りたい。Aテキストフィールドでマウスボタン押下イベントを取りたい。
Q7-1:
@テキストフィールド(数値入力フィールド)で、キーイベントを取りたい。
テキストフィールドで文字入力後に、エンターキーを押下で、次の入力フィールドにフォーカスを合わせたいと思っています。キー入力イベントを拾うようにすることは可能でしょうか?
データ更新イベントを使って同様の機能を実現してみましたが、関係ないところでボタンを押した時などにもイベントが発生してしまい、正常に制御できませんでした。
Aテキストフィールドでマウスボタン押下イベントを取りたい。
右クリックではなく、左クリック押下のイベントを取りたいです。
用途としては、タッチパネルなどを想定した場合に、フィールドクリック(タッチ)でテンキー画面を表示して数値を入力しようと思っています。
A7-1:
@[テキストフィールド]、[数値入力フィールド]ともに、Enterキー押下げ時にアクションイベントが発生します。したがいまして、アクションイベントの接続先を次の入力フィールドとして、その「入力フォーカスを設定する()」メソッドを起動することでフォーカスを合わせられます。
あるいは、フィールドを配置したフレーム/ダイアログ/パネルで、Enterキーによるフォーカス移動を有効とすることでも、ご希望の動作を実現できます。アプリケーションビルダーより[実行(設定可)]ボタンクリックでアプリケーションを起動し、フレーム/ダイアログ/パネル上で右クリック、
フォーカス移動>Enterキーによる移動>有効
と選択します。ただし、Enterキーによるフォーカス移動を有効とした場合、アクションイベントが発生しなくなりますのでご注意ください。
A[テキストフィールド]、[数値入力フィールド]共、フィールドをマウスでクリックした時には編集状態になり、マウスボタンイベントが発生しません。
大変申し訳ございませんが、現状では左クリック押下のイベントは取得できません。
(フォーカスイベントが発生しているのですが、フォーカスがフィールドに戻る度にイベントが発生してしまうので、フォーカスイベントを使っての制御も大変面倒かと思われます)
備考:「数値入力フィールド」の「Q&A3」にも掲載。