グリッドを作成すると、最初に一連の組み込みの名前付きスタイルが指定されます。これらのスタイルによって、さまざまなグリッドの表示方法が制御されます。たとえば、Heading スタイルは、列のヘッダの表示に使用される属性を決定します。設計時には、GridStyleCollection エディタで組み込みの名前付きスタイルを変更することで、グリッド全体の外見を変更できます。実行時には、GridStyleCollection を使用して、同じ名前付きスタイルのセットにアクセスできます。すべてのグリッドは、最初に 13 個の組み込みスタイルを持っています。これらのスタイルは、次のグリッド要素の表示方法を制御します。
要素 | 説明 |
---|---|
Caption | グリッドとスプリットのキャプションバー |
Editor | グリッド内のセルエディタ |
EvenRow | 偶数行にあるデータセル |
Filter Bar | フィルタバー列にあるデータ |
Footer | 列のフッタ |
Group | グリッドのグループ化領域にあるグループ列 |
Heading | 列のヘッダ |
HighlightRow | 強調表示されている行にあるデータセル |
Inactive | 列のヘッダ(他の列にフォーカスがある場合) |
Normal | 選択も強調表示もされていない行にあるデータセル |
OddRow | 奇数行にあるデータセル |
Record Selector | レコードセレクタ列のデータ |
Selected | 選択されている行にあるデータセル |
選択されている行とは、コードまたはユーザーの操作によって SelectedRowCollectionにブックマークが追加されている行です。強調表示されている行とは、 MarqueeStyle プロパティが MarqueeEnum.HighlightRow またはMarqueeEnum.HighlightRowRaiseCellに設定されている現在の行です。
EvenRow スタイルおよび OddRow スタイルは、AlternatingRows プロパティが True に設定されている場合にだけ使用できます。
Microsoft Word と同様に、C1TrueDBGrid の Style オブジェクトも、別のスタイルの属性を継承したり、親スタイルとして参照されます。新しく作成されたグリッドでは、Normal スタイルがすべての名前付きスタイルの親スタイルになります。このスタイルのデフォルトのプロパティを次に示します。
プロパティ | 設定 |
---|---|
Alpha | 255 |
BackColor | System.Drawing.Color.White |
BackColor2 | System.Drawing.Color.White |
BackgroundImage | None |
BackgroundPictureDrawMode | BackgroundPictureDrawModeEnum.Stretch |
Font | Microsoft Sans Serif, 8.25pt |
ForeColor | System.Drawing.Color.Black |
ForegroundImage | None |
ForeGroundPicturePosition | ForegroundPicturePositionEnum.LeftOfText |
GammaCorrection | False |
GradientMode | None |
HorizontalAlignment | AlignHorzEnum.General |
Locked | False |
Padding | 0, 0, 0, 0 |
Trimming | Character |
VerticalAlignment | AlignVertEnum.Top |
WrapText | False |
Heading スタイルと Footing スタイルも同様に定義されます。これらのスタイルは Normal を継承しており、次のプロパティを上書きしています。
プロパティ | 設定 |
---|---|
BackColor | System.Drawing.SystemColors.Control |
ForeColor | System.Drawing.Color.Black |
VerticalAlignment | AlignVertEnum.Center |
Heading スタイルは、次のプロパティも上書きしています。Footing スタイルは、このプロパティを上書きしていません。
プロパティ | 設定 |
---|---|
WrapText | True |
Selected スタイルも Normal を継承し、次に示す2つのカラープロパティを上書きしています。
プロパティ | 設定 |
---|---|
BackColor | System.Drawing.SystemColors.Highlight |
ForeColor | System.Drawing.SystemColors.HighlightText |
HighlightRow スタイルも同様です。このスタイルは、デフォルトの Normal スタイルの設定とは逆の色を使用します。
プロパティ | 設定 |
---|---|
BackColor | System.Drawing.SystemColors.Text |
ForeColor | System.Drawing.SystemColors.HighlightText |
EvenRow、OddRow、FilterBar の各スタイルは Normal を継承しますが、EvenRow スタイルには上書きされるプロパティがあります。
プロパティ | 設定 |
---|---|
BackColor | System.Drawing.Color.Aqua |
Normal を直接継承しないスタイルは、Caption と RecordSelector だけです。これらは Heading を継承します。グリッドとスプリットのキャプションがデフォルトで中央揃えされるのは、Caption スタイルの次のプロパティがカスタマイズされているためです。
プロパティ | 設定 |
---|---|
HorizontalAlignment | AlignHorzEnum.Center |
名前付きスタイルが継承されるしくみについて確認します。グリッドをフォームに配置し、グリッドのCaption プロパティとデフォルトの列を設定します。デフォルトの列の FooterText プロパティを設定し、グリッドのColumnFootersプロパティを True に設定すると、グリッドは次のように表示されます。
GridStyleCollection エディタで、Normal ノードを展開し、Font プロパティを選択してBoldボックスを ON にします。列ヘッダ、列フッタ、グリッドのキャプションのすべてが太字になります。これは、すべての組み込みスタイルが Normal スタイルまたは Normal の子スタイルを継承するためです。
次に、Heading ノードを展開し、ForeColor プロパティを選択します。カラータブのWebを選択し、次にNavyを選択します。列ヘッダとグリッドのキャプションバーの両方のテキストが白色になります。これは、Caption スタイルが Heading スタイルから色のプロパティを継承するためです。列フッタは変化しません。これは、Footer スタイルが、Heading ではなく、Normal を継承しているためです。
最後に、Caption ノードを展開し、BackColor プロパティを選択します。カラータブのWebを選択し、次にAliceBuleを選択します。列ヘッダの背景色が変化しないこと、および Caption スタイルが引き続き親スタイルの Heading からテキストの色を継承していることがわかります。
グリッド全体の外見は、設計時に .NET のコレクションエディタを使用して、GridStyleCollectionを変更することによって変更できます。たとえば、すべての列ヘッダでキャプションのテキストを中央揃えにするには、組み込みの Heading スタイルの HorizontalAlignment プロパティをAlignHorzEnum.Center に変更します。
ただし、必ずしも GridStyleCollection エディタを使用したり、GridStyleCollection の名前付きメンバをコード内で操作する必要はありません。グリッドおよびそのコンポーネントオブジェクトは、Style オブジェクトを返すさまざまなプロパティを公開しています。次の項で説明するように、これらのオブジェクトを直接操作することによって、グリッドの外見を調整できます。詳細については、Using the C1TrueDBGrid Style Editorを参照してください。