4D v16.3

ウィンドウの配置の記憶

ホーム

 
4D v16.3
ウィンドウの配置の記憶

ウィンドウの配置の記憶  


 

 

4D には、ウィンドウ独自の表示方法("配置")を、ウィンドウを閉じる際に自動的に記憶するという機能があります。これにより、ユーザーは作業を終了したときと同じ作業環境にいつでも戻って来られるようになります。

この機能にて記録されるのは、ウィンドウの座標とそのウィンドウ内に含まれるオブジェクトの位置、それからいくつかのオブジェクトのカレントの状態、すなわちタブコントロールでどれが選択されているか、などです。

注: この新機能は、フォームが閉じたときと同じサイズで再度開かれたときのみ有効です。結果的に、この機能は主にOpen form windowコマンドに * 演算子を渡してウィンドウが開かれることを想定しています。

自動配置記憶を有効化するためには、フォームプロパティ内にある配置の記憶オプションをチェックする必要があります: 

このオプションがチェックされているとき、セッション中にどのように変更したかに関係なく、以下の複数のフォームパラメーターが 4D によって自動的に保存されます:

  • カレントのページ
  • それぞれのフォームの配置、大きさ、表示状態(リストボックス列のサイズと表示状態も含みます)。

注: このオプションは、OBJECT DUPLICATEコマンドを使用して作成されたオブジェクトに対しては無効です。このコマンドを使用しても使用環境を復元させるためには、デベロッパがオブジェクトの作成・定義・配置の手順をその都度行わなければなりません。

このオプションが選択されているとき、一部のオブジェクトに置いては値を記憶のオプションが選択可能になります(詳細は次の項目を参照して下さい)。

新しい値を記憶のオプションはプロパティリストの"オブジェクト"のテーマ内にあります:

このオプションは以下の場合に限り有効です:

  • フォームの「配置を記憶」のオプションのオプションがチェックされている
  • 選択されたオブジェクトがフォームの全体的な配置に関係するオブジェクトであること。
    例えばチェックボックスは、ウィンドウ内にて追加のエリアを表示たり隠したりするのにこの値を使用することができるので、チェックボックスにはこのオプションが存在します(以下の表を参照して下さい)。

「値」を保存できるオブジェクトと保存できる値は、以下の表の通りです:

オブジェクト保存される値
ラジオボタン関連付けられた変数の値(1、0、ボタンにおいてはTrueまたはFalse など。型による)
3D ラジオボタン関連付けられた変数の値(0, 1)
チェックボックス関連付けられた変数の値(0, 1, 2)
3D チェックボックス関連付けられた変数の値(0, 1)
タブ選択されているタブの番号
ポップアップ/ドロップダウンリスト選択されている項目の番号
ピクチャーポップアップメニュー選択されている項目の番号

4D では Open form windowコマンド(フォーム名 :*)を使用して作成されたウィンドウを閉じた際にそのウィンドウの座標を保存します。Windows環境下では最大化した状態も保存されます。

これらの情報と、任意で保存できる情報(配置など)は、ウィンドウが閉じられたときにマシンのカレントのユーザーフォルダにjsonフォーマットで保存されます。これにより、たとえ"デフォルトユーザー"アカウントを使用したときでも個別のマシンを使って接続するそれぞれのユーザーごとに、その環境を保存することが出来ます。

この情報は、フォームが閉じられたときと同じ寸法にて再度開かれたときに使用され、閉じられたときに再度保存されます。この原理には、 Open form window(*)コマンドが使用されたか、デベロッパが座標を保存するための独自のシステムを設定されていることを前提としています。

保存された情報は以下の順序で復元され、適用されます:

  • ウィンドウのサイズとポジションはOpen form windowコマンドが実行されたときに復元されます。
  • 変数の値はフォームが On Load イベントを呼び出す前にロードされたときに復元されます。
  • カレントのページは On Load イベントを呼び出す前に復元されます。
  • それぞれのオブジェクトの位置、サイズ、そして表示状態は On Load イベントのすぐ後に復元されます。

サブフォームオブジェクトのプロパティは、同じ順番に従って自動的に保存・適用されます。

警告: ”配置を記憶”、”値を記憶”を使用して保存された情報は、フォームのオブジェクトがデザインモードで変更(リサイズ、移動、追加、削除または改名)されるたび元の状態へとリセットされてしまいます。そのため、この機能はユーザー設定などの恒久的な値を保存するためには使用しないことを強く推奨します。

フォームのスプリッターの相対位置を保存したい場合を考えます。この場合、配置を保存のオプションをチェックするだけです。
フォームが開いたとき、以下の様になるはずです:

ユーザーがウィンドウをリサイズしたりスプリッターを動かしたりしたとします。オブジェクトはそれぞれのプロパティに応じてリサイズされます。ユーザーがウィンドウを閉じた後、再びフォームが開かたとき、オブジェクトは最新の状態を復元します:

フォーム内において、3Dチェックボックスによって管理される、一つ以上の折り畳みエリアがある場合、そのチェックボックスはエリアが折りたたまれている場合は右向きの三角形を表示し、エリアが展開されている場合には下向きの三角形を表示します。こういったエリアを設定するにはいくつかの方法(オブジェクトの移動または表示状態の変更、異なるフォームページの使用等)がありますが、どのケースにおいても、ウィンドウのサイズが変更になることがあります。

異なるセッション間で折り畳みエリアの状態を保存したい場合、以下の様にしてください:

  • フォームの配置を保存のオプションにチェックをし、オブジェクトのカレントページ、位置、表示状態が保存されるようにしてください。
  • 3Dチェックボックスの値を保存のオプションにチェックをし、関連付けられた変数の値(展開か折り畳みを表す0または1)が保存されるようにしてください。

フォーム内にて、"Goto Page" の標準アクションを持ったタブを設定したとします:

この場合、配置を正しく保存させるためには、フォーム内の配置を保存にチェックをし、タブオブジェクトの値を保存のオプションをチェックします:

 
プロパティ 

プロダクト: 4D
テーマ: アクティブオブジェクトのプロパティ

 
履歴 

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)