みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつもお世話になっております。
ファイルメーカー バージョン19.3.2.206になります。
以前こちらで解決していただきましたポータル行を縦移動するの発展になります。
タブコントロールで、タブを3つ作成し、それぞれに別々のテーブルを配置し、通し番号というフィールドを作成しております。
OnObjectKeystrokeに
If[Code ( Get ( トリガキー入力 ) ) = 29]
ポータル内の行へ移動;前の
フィールドへ移動[該当テーブル::通し番号]
Else If[Code ( Get ( トリガキー入力 ) ) = 31]
ポータル内の行へ移動;次の
フィールドへ移動[該当テーブル::通し番号]
Else If[Code ( Get ( トリガキー入力 ) ) = 13]
ポータル内の行へ移動;次の
フィールドへ移動[該当テーブル::通し番号]
を設定し、
↑キーで上に移動
↓キーで下に移動
Enterキーで下に移動という動作を行なっています。1つ目のポータルは問題ないのですが、
2つ目、3つ目のポータルの通し番号に同様に設定した場合、一番上のポータルに移動してしまいます。
オブジェクトの設定やスクリプト引数などの設定も試したのですが、行き詰まってしまいました・・・
何卒、ご教授願えますでしょうか?
タブコントロールで別のタブへ移動した時に、どの行も選択されていないのでしょう。
複数のポータルの選択を同期させたいという希望でしたら、結構面倒です。
Offline
sninさん
ありがとうございます。
複数のポータルの同期は今回は必要としておりませんが、そのようなことも可能なのですね。興味深いです。
タブコントロールで別のタブへ移動した時に、どの行も選択されていない。というのは、どこで設定できるのでしょうか?
タブを選んでスクリプトを設定してもやはり一番上にいってしまいます。
何卒よろしくお願いいたします。
> タブを選んでスクリプトを設定してもやはり一番上にいってしまいます。
その時のタブの選択を確認してみてください。最初に作ってポータルの最上行になっているでしょう。ポータルが選択されていないと、そのレイアウトにある最前面のポータルが選択され、その第1行目がデフォルトになるのが仕様です。
タブをクリックしたら、ポータルのいずれかの行を必ずクリックしてそのポータルを選択させないといけません。手動でもいいですが、OnPanelSwitch スクリプトトリガで、Get (トリガターゲットパネル) を取得して、その中のポータルのいずれかのフィールドへ移動するか、各ポータルにオブジェクト名をつけて、そのオブジェクトへ移動を行うといいでしょう。
Offline
shinさん
ありがとうございます。
タブを選んでOnPanelSwitch で ポータル内の行へ移動[選択:オフ; ダイアログあり;オフ Get(トリガーターゲットパネル)]を設定
それぞれのポータルの通し番号に今までのOnObjectKeystrokeのスクリプトを設定して希望の動作が出来たのですが、これで問題なかったでしょうか?
なにか修正点あればご指摘いただけますでしょうか?
すみません。追記です。
各ポータルに名前をつけて
OnPanelSwitch オブジェクトへ移動[オブジェクト名:Get(トリガーターゲットパネル)
でより理想に近い動作になりました。
[ Generated in 0.017 seconds, 9 queries executed - Memory usage: 513.38 KiB (Peak: 517.91 KiB) ]