MESCIUS MultiRow for Windows Forms 12.0J
ヘッダの外観変更

GcMultiRowコントロールのヘッダは既定でビジュアル スタイルが有効です。ビジュアル スタイルの適用結果は、アプリケーションが実行されるOSの設定に依存します。
以下の情報は、HeaderCell、ColumnHeaderCell、RowHeaderCellおよびCornerHeaderCellで共通です。
フラットスタイル
HeaderCell.FlatStyleプロパティを設定すると、フラットスタイルを使用できます。マウスオーバー時の外観はHeaderCell.FlatAppearanceプロパティで設定します。
Office スタイル
HeaderCell.Office2007StyleプロパティやHeaderCell.Office2021Styleプロパティを設定すると、Officeライクなスタイルを使用できます。

Office Style 外観 罫線の色
通常 マウスホバー
Office2007.Silver Color.FromArgb(144, 145, 146)
Office2007.Blue Color.FromArgb(158, 182, 206)
Office2007.Black Color.FromArgb(182, 182, 182)
Office2021.DarkGray Color.FromArgb(144, 145, 146)
Office2021.Black Color.FromArgb(182, 182, 182)
Office2021.White Color.FromArgb(182, 182, 182)

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Template = Template.Default
Dim Template1 As Template = GcMultiRow1.Template
For Each cell As Cell In Template1.ColumnHeaders(0).Cells
    If TypeOf cell Is HeaderCell Then
        Dim HeaderCell1 As HeaderCell = TryCast(cell, HeaderCell)
        HeaderCell1.Office2007Style = Office2007Style.Blue
        HeaderCell1.Style.Border = New Border(LineStyle.Thin, Color.FromArgb(158, 182, 206))
    End If
Next
GcMultiRow1.Template = Template1
using GrapeCity.Win.MultiRow;

gcMultiRow1.Template = Template.Default;
Template template1 = gcMultiRow1.Template;
foreach (Cell cell in template1.ColumnHeaders[0].Cells)
{
    if (cell is HeaderCell)
    {
        HeaderCell headerCell1 = cell as HeaderCell;
        headerCell1.Office2007Style = Office2007Style.Blue;
        headerCell1.Style.Border = new Border(LineStyle.Thin, Color.FromArgb(158, 182, 206));
    }
}
gcMultiRow1.Template = template1;
ヘッダの境界線
HeaderCell.GutterStylesプロパティを設定すると、HeaderCellに境界線を示す溝を表示できます。境界線を示す溝は、上下左右のいずれか、またはすべてに表示できます。
ヘッダの境界線はビジュアルスタイルが有効の場合のみ表示されます。それ以外の場合では、セルの罫線を使用して境界線を表示します。
エフェクトの方向
HeaderCell.HoverDirectionプロパティを設定すると、マウスポインタがHeaderCellの上に重なったときの強調エフェクトの表示箇所を指定できます。強調エフェクトは上下左右のいずれか、または非表示を選択できます。
背景色の透過

ヘッダ型セルは、背景色を透明に設定することでセクションの背景に設定している背景色をヘッダ上に表示できます。セクションの背景色にグラデーションなどを設定している場合はヘッダ型セルの背景色としてグラデーションがそのまま表示できます。

ヘッダ型セルの背景色を透過するには、次のプロパティ設定が必要です。

次のコードでは、列ヘッダ型セルの背景色を透明にして、列ヘッダセクションの背景色に設定したグラデーションを列ヘッダ型セル上に表示します。

Imports GrapeCity.Win.MultiRow
                                                                
' ヘッダセクションに設定するグラデーション
Dim GradientEffect1 As New GradientEffect()
GradientEffect1.Colors = New Color() {Color.LightBlue, Color.LightYellow}
GradientEffect1.Style = GradientStyle.Horizontal
GradientEffect1.Direction = GradientDirection.Side

' テンプレートの設定
Dim Template1 As Template = Template.CreateGridTemplate(3)
Template1.ColumnHeaders(0).BackgroundGradientEffect = GradientEffect1


' 列ヘッダ型セルの背景色を透明に設定
Dim ColumnHeaderCell1 As New ColumnHeaderCell()
ColumnHeaderCell1.FlatStyle = FlatStyle.Flat
ColumnHeaderCell1.Style.BackColor = Color.Transparent
ColumnHeaderCell1.UseRealTransparent = True

ColumnHeaderCell1.Location = Template1.ColumnHeaders(0).Cells(0).Location
ColumnHeaderCell1.Size = Template1.ColumnHeaders(0).Cells(0).Size

Template1.ColumnHeaders(0).Cells.RemoveAt(0)
Template1.ColumnHeaders(0).Cells.Insert(0, ColumnHeaderCell1)

GcMultiRow1.Template = Template1
using GrapeCity.Win.MultiRow;

// ヘッダセクションに設定するグラデーション
GradientEffect gradientEffect1 = new GradientEffect();
gradientEffect1.Colors = new Color[] { Color.LightBlue, Color.LightYellow };
gradientEffect1.Style = GradientStyle.Horizontal;
gradientEffect1.Direction = GradientDirection.Side;

// テンプレートの設定
Template template = Template.CreateGridTemplate(3);
template.ColumnHeaders[0].BackgroundGradientEffect = gradientEffect1;


// 列ヘッダ型セルの背景色を透明に設定
ColumnHeaderCell columnHeaderCell1 = new ColumnHeaderCell();
columnHeaderCell1.FlatStyle = FlatStyle.Flat;
columnHeaderCell1.Style.BackColor = Color.Transparent;
columnHeaderCell1.UseRealTransparent = true;

columnHeaderCell1.Location = template.ColumnHeaders[0].Cells[0].Location;
columnHeaderCell1.Size = template.ColumnHeaders[0].Cells[0].Size;

template.ColumnHeaders[0].Cells.RemoveAt(0);
template.ColumnHeaders[0].Cells.Insert(0, columnHeaderCell1);

gcMultiRow1.Template = template;
                            
関連トピック

 

 


© MESCIUS inc. All rights reserved.