MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > セル型 > InputManセル > GcComboBox型セル > リストボックスの使い方(GcComboBox型セル) > ヘッダの設定(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 プロパティを使用すれば、カラムヘッダの既定値を設定することができます。すべてのヘッダに共通の設定は、既定値を設定することで複数のヘッダに同じ設定を繰り返す手間が省けます。