MESCIUS SPREAD for Windows Forms 17.0J
ヘッダの設定(GcComboBox型セル)

リストボックスのヘッダの設定方法について説明します。

ヘッダの構成

リストボックスのヘッダは、次のようにヘッダ全体の領域と、各カラムが保持するカラムヘッダで構成されます。カラムの設定については「カラムの設定(GcComboBox型セル)」を参照してください。

ヘッダ領域の機能は、ヘッダの表示・非表示の切り替えやヘッダの高さなどヘッダ全体に適用され、ListHeaderPane プロパティが参照するListHeaderPaneInfo オブジェクトを使用して設定します。

カラムヘッダは各カラムに対する個別の設定を行い、ListColumnInfo クラスのHeader プロパティで行います。Header プロパティは、ListHeaderInfo オブジェクトを参照します。

ヘッダ領域の設定

ヘッダ領域は、ListHeaderPane プロパティが参照するListHeaderPaneInfo オブジェクトを使用して設定します。 リストボックスにヘッダを表示するには、Visible プロパティをTrueに設定します。その他、以下のような外観設定が可能です。

サンプルコード

次のサンプルコードは、ヘッダ領域を設定する例です。

C#
コードのコピー
gcComboBox1.ListHeaderPane.Visible = true;
gcComboBox1.ListHeaderPane.AutoHeight = true;
Visual Basic
コードのコピー
gcComboBox1.ListHeaderPane.Visible = True
gcComboBox1.ListHeaderPane.AutoHeight = True
カラムヘッダの設定

カラムヘッダの設定は、ListColumnInfo クラスのHeader プロパティで行い、Header プロパティは、ListHeaderInfo クラスを参照します。
ListHeaderInfo クラスを使用して、カラムヘッダには以下のような設定が可能です。

ヘッダタイトル

ヘッダのタイトルを変更するには、ListHeaderInfo クラスのText プロパティを使用します。

サンプルコード

次のサンプルコードは、ヘッダのテキストを変更します。サンプルコードは、リストボックスにあらかじめ2つのカラムが追加されていることを前提にしています。

C#
コードのコピー
gcComboBox1.ListColumns[0].Header.Text = "カラム1";
gcComboBox1.ListColumns[1].Header.Text = "カラム2";
Visual Basic
コードのコピー
gcComboBox1.ListColumns(0).Header.Text = "カラム1"
gcComboBox1.ListColumns(1).Header.Text = "カラム2"

カラムのリサイズ

ListHeaderInfo クラスのAllowResize プロパティをTrueに設定すると、アプリケーションの実行時にユーザーはマウス操作等でカラムのサイズを自由に変更できるようになります。
実行時にカラムのサイズ(幅)を変更するには、サイズを変更したいカラムの境界線の位置でマウスの左ボタンを押し、変更したいサイズに合わせてマウスカーソルを移動し、左ボタンを離します。

画像の表示

カラムヘッダにはテキスト以外に画像を表示することができます。

画像を表示するには、ListHeaderInfo クラスのImage プロパティを使用します。
Image プロパティには、表示する画像のインデックスを設定します。Image プロパティに設定するインデックスは、GcComboBox型セルのImageList プロパティに設定したImageList オブジェクトのImages プロパティが参照するImageList.ImageCollection のインデックスです。

表示された画像の位置は、ListHeaderInfo クラスのTextAttachAlignment プロパティで設定します。

また、画像とテキストの距離は、ImageTextSpace プロパティで設定します。

サンプルコード

次のサンプルコードは、ヘッダに画像を設定します。サンプルコードは、リストボックスにあらかじめ2つのカラムが追加されていることを前提にしています。

C#
コードのコピー
// ImageListプロパティを設定
ImageList iList = new ImageList();
iList.Images.Add(Image.FromFile("C:\\Image1.bmp"));
iList.Images.Add(Image.FromFile("C:\\Image2.bmp"));
gcComboBox1.ImageList = iList;
// ヘッダに画像を設定
gcComboBox1.ListColumns[0].Header.Image = 0;
gcComboBox1.ListColumns[0].Header.TextAttachAlignment = GrapeCity.Win.Spread.InputMan.CellType.AttachAlignment.LeftMiddle;
gcComboBox1.ListColumns[0].Header.ImageTextSpace = 3;
gcComboBox1.ListColumns[1].Header.Image = 1;
gcComboBox1.ListColumns[1].Header.TextAttachAlignment = GrapeCity.Win.Spread.InputMan.CellType.AttachAlignment.LeftMiddle;
gcComboBox1.ListColumns[1].Header.ImageTextSpace = 3;
Visual Basic
コードのコピー
' ImageListプロパティを設定
Dim iList As New ImageList()
iList.Images.Add(Image.FromFile("C:\Image1.bmp"))
iList.Images.Add(Image.FromFile("C:\Image2.bmp"))
gcComboBox1.ImageList = iList
' ヘッダに画像を設定
gcComboBox1.ListColumns(0).Header.Image = 0
gcComboBox1.ListColumns(0).Header.TextAttachAlignment = GrapeCity.Win.Spread.InputMan.CellType.AttachAlignment.LeftMiddle
gcComboBox1.ListColumns(0).Header.ImageTextSpace = 3
gcComboBox1.ListColumns(1).Header.Image = 1
gcComboBox1.ListColumns(1).Header.TextAttachAlignment = GrapeCity.Win.Spread.InputMan.CellType.AttachAlignment.LeftMiddle
gcComboBox1.ListColumns(1).Header.ImageTextSpace = 3

省略文字

ListHeaderInfo クラスのEllipsis プロパティを使用すると、ヘッダのテキストの長さがカラムの幅より大きいとき、省略文字を表示するかどうか設定することができます。

カラムヘッダの既定値

ListDefaultColumn プロパティが参照するDefaultListColumnInfo オブジェクトのHeader プロパティを使用すれば、カラムヘッダの既定値を設定することができます。すべてのヘッダに共通の設定は、既定値を設定することで複数のヘッダに同じ設定を繰り返す手間が省けます。

 

 


© MESCIUS inc. All rights reserved.