FileMakerでレイアウトを切り替えたり、ポータルの行が更新されたりすると、「画面がチラッと点滅する」「一瞬レイアウトが崩れて見える」と感じたことはないでしょうか。処理自体は正しく動いていても、ウィンドウがチカチカすると、ユーザーにとっては「不安定そう」「使いにくい」という印象になってしまいます。
この記事では、そうした「ちらつき」をできるだけ抑えるための考え方と、FileMakerの「ウィンドウ内容の固定」という機能を中心に、具体的な操作方法をわかりやすく解説します。
ウィンドウの「ちらつき」はなぜ起こる?
まずは、なぜウィンドウがちらついて見えるのかを簡単に整理しておきましょう。
- レイアウト切り替えが何度も行われる
- スクリプトで画面をスクロールさせている
- ポータルや集計結果などが再描画されている
- トリガーでスクリプトが頻繁に動いている
こうした処理が続けて実行されると、そのたびに画面が書き換わり、ユーザーの目には「チカチカ」「パッパッ」と点滅するように映ります。内部的には問題なく動いていても、見た目の印象が悪くなり、操作ミスや混乱の原因にもなりかねません。
「ウィンドウ内容の固定」で再描画をまとめて抑える
FileMakerには、このちらつきを軽減するための代表的な機能として「ウィンドウ内容の固定」というスクリプトステップがあります。これは簡単に言うと、
「いったん画面更新を止めて、裏側でまとめて処理してから、最後に一気に表示する」
というイメージの機能です。
レイアウト切り替えやフィールド設定などの画面に影響する処理を、
「ウィンドウ内容の固定」で挟み込むことで、ユーザーの目に映る変化を最小限にできます。
基本的な使い方の流れ
「ウィンドウ内容の固定」を使う流れは、とてもシンプルです。
- スクリプトの先頭付近で「ウィンドウ内容の固定」を実行する
- その後に、レイアウト切り替えやフィールド設定などの処理をまとめて書く
- スクリプトの終わりまで処理が進んだタイミングで、画面がまとめて更新される
特別な解除操作は不要で、後続のスクリプトステップの実行によって自動的に再描画されます。
複数のスクリプトで呼び出す場合も、基本的には「処理を始める前に固定する」というルールで問題ありません。
実際の操作手順(スクリプトでの設定方法)
具体的な設定手順を、スクリプトワークスペースでの操作に沿って説明します。
- FileMakerで目的のファイルを開く
- メニューから「スクリプト」→「スクリプトワークスペース」を開く
- 新しくスクリプトを作成、または既存のスクリプトを開く
- 左側のステップ一覧から「ウィンドウ内容の固定」を探す
- 見つからない場合は、検索欄に「ウィンドウ」や「固定」と入力して絞り込む
- 「ウィンドウ内容の固定」をスクリプトの先頭付近にドラッグ&ドロップで追加する
- その下に、レイアウト切り替えやフィールド設定などの処理を配置する
ポイントは、「ユーザーに見せたくない細かい画面変化の前に置く」ということです。
例えば、以下のようなスクリプト構成が考えられます。
ウィンドウ内容の固定
レイアウト切り替え [ “一覧レイアウト” ]
検索モードに切り替え [ 一時停止: オフ ]
フィールド設定 [ 顧客::ステータス ; "有効" ]
検索実行
レイアウト切り替え [ “結果表示レイアウト” ]
このようにまとめておくことで、ユーザーの目には「結果表示レイアウト」にパッと切り替わったように見え、途中の画面の揺れや切り替えがほとんど感じられません。
どんな場面で効果が大きい?
「ウィンドウ内容の固定」が特に効果的なのは、次のようなケースです。
- 検索や並べ替えを伴うスクリプト
検索モードへの切り替えや、並べ替え中の画面更新を見せたくない場合に有効です。 - レイアウトをまたいで処理するスクリプト
詳細画面 → 一覧画面 → 結果画面、のように複数レイアウトを経由するとき、ユーザーには最終のレイアウトだけ見せることができます。 - ポータル行を一括更新する処理
ループでポータル行を更新すると、1行ずつチラチラ動くことがありますが、固定しておけば最後だけスッと反映されます。 - 印刷用レイアウトの準備
ページ設定や印刷用フィールドの調整などを裏で行い、ユーザーには整った状態だけを見せられます。
使うときの注意点とコツ
便利な機能ですが、使い方にはいくつかコツもあります。
- 長時間の処理には進行状況の工夫を
固定している間、画面は変わらないので、処理が長い場合は「ダイアログでメッセージを出す」「プログレスバーを表示する」など、ユーザーに待っていることを伝える工夫をしましょう。 - デバッグ中はあえて外すことも
スクリプトの動きを目で追いたいときは、一時的に「ウィンドウ内容の固定」を外した方が、どこでレイアウトが変わっているか分かりやすい場合があります。 - 過剰に入れすぎない
スクリプトをネストして頻繁に呼び出すときに、あちこちで固定をかけると、逆に挙動が分かりづらくなることもあります。基本は「大きな流れの先頭で1回」を目安にするとよいでしょう。
「ユーザーに見せたい画面」を意識して設計する
ウィンドウ内容の固定は、単にちらつきを抑えるだけでなく、「ユーザーにどの画面を、どのタイミングで見せるのか」をコントロールするための道具でもあります。
スクリプトを作るときには、以下のような視点を持つと、自然と使いどころが見えてきます。
- このスクリプトの「最終的な見せ場」はどのレイアウトか?
- 途中のレイアウトや検索モードは、ユーザーに見せる必要があるか?
- ユーザーが見ていて不安になるような動きはないか?
こうした視点で画面の動きを設計していくと、「ウィンドウ内容の固定」はとても頼りになる機能です。ちょっとした一手間で、システム全体の「使いやすさ」「安定感」の印象を大きく改善できますので、ぜひ積極的に活用してみてください。