'宣言 Public ReadOnly Property DisplayLayout As UltraGridLayout
public UltraGridLayout DisplayLayout {get;}
オブジェクトの DisplayLayout プロパティは、オブジェクトの外観および動作に関連するさまざまなプロパティの設定を決める DisplayLayout オブジェクトへのアクセスに使用されます。DisplayLayout オブジェクトを使用すると、グリッドの複数のレイアウトを維持し、必要に応じて簡単に適用できます。グリッドのレイアウトはディスク、レジストリ、またはストレージ ストリームに保存して再度利用することもできます。
DisplayLayout オブジェクトには Appearance や Override のようなプロパティがあるため、DisplayLayout オブジェクトにはこれらのタイプのサブオブジェクトがあり、その設定もレイアウトの一部として含まれます。ただし実際に維持される情報は、これらのプロパティの設定がどのように割り当てられたかによって異なります。プロパティが DisplayLayout オブジェクトの組み込みオブジェクトを使用して設定された場合、そのプロパティの設定はレイアウトの一部に含まれます。しかし、名前付きオブジェクトがコレクションからプロパティに割り当てられた場合、レイアウトにはコレクションへの参照のみが含まれ、名前付きオブジェクトの実際の設定は含まれません。
たとえば、DisplayLayout オブジェクトの Appearance プロパティを使用して組み込みの Appearance オブジェクトの値を設定する場合は、次のようになります。
UltraWinGrid1.Layout.Appearance.ForeColor = vbBlue
この設定 (この場合は ForeColor) はレイアウトの一部に含まれ、他のレイアウト データと共に保存、読み込み、および適用されます。一方、名前付きオブジェクトの設定を次のように DisplayLayout の Appearance プロパティに適用する場合を考えてみます。
UltraWinGrid1.Appearances.Add "New1"
UltraWinGrid1.Appearances("New1").ForeColor = vbBlue
UltraWinGrid1.DisplayLayout.Appearance = UltraWinGrid1.Appearances("New1")
この場合、ForeColor の設定はレイアウトの一部として維持されません。その代わりレイアウトには "New1" Appearance オブジェクトへの参照が含まれ、レイアウトが適用されるときにそのオブジェクト内に存在する設定が使用されることになります。
デフォルトではレイアウトには Appearances コレクション全体のコピーが含まれるため、デフォルト設定を使用してレイアウトが保存および再利用された場合、オブジェクトの参照時にはオブジェクトは常にコレクション内に存在することになります。ただし、DisplayLayout オブジェクトの Load メソッドおよび Save メソッドを使用する際、レイアウトが適用されるときにコレクションが再作成されないようにすることも可能です。この場合、存在しないオブジェクトへの参照がレイアウトに含まれていれば、そのオブジェクトのプロパティのデフォルト設定が使用されます。