【Filemaker】マウスを使わずに操作できるようにしてみた(解説編)その1


ずっと使いづらいと感じていたのは、リストレイアウトやポータルでのレコード間の移動が直感的ではないこと。
例えば、矢印キーで上下のレコードに移動したり、左右に配置されたボタン間の移動をしたり。これをやるにはイベント処理が必要。


まず単純な例。
リストレイアウトでのフォーカス移動。


レイアウト設定/スクリプトトリガ/OnLayoutKeystrokeイベント にスクリプトを割り当てる。


 通常は、以下のように、Get ( トリガキー入力 ) 、Get ( トリガ修飾キー ) でキーボード入力を引っ掛けて、特定の処理を振り分ける。


このスクリプトは、レイアウト全体の設定なので、このレイアウト上の他の部品(ポップオーバー、ポータル、ボタン)に割り当てているキーストロークイベント(OnLayoutKeystrokeイベント)があったとしても、最終的にはこのイベントに飛んでくる仕組みとなっている。
このレイアウト上の部品のキーストロークイベント処理で、すべてのキーイベントを引っ掛けて、全スクリプト終了とできれば良いが、そうはいかない場合もある。
例えば、ボタンバーなどのフォーカスの移動は、矢印キーでのフォーカス移動が標準なので、いちいち設定せずに、キーストロークイベント処理はスルーして、標準の動きをさせたい場合などである。
では、そのように、レイアウト上の部品(ポップオーバー、ポータル、ボタン)のキーストロークイベント処理で指定せず、レイアウト全体のキーストロークイベント処理もスルーさせて、標準の動きをさせたい時はどうするかは、次回に種明かししたい。

つづく

解説編・その2へ

0 件のコメント:

コメントを投稿