ListView ActiveX コントロール

"Microsoft ListView Control 6.0 (SP4)" "MSComctlLib.ListViewCtrl.2" "{BDD1F04B-858B-11D1-B16A-00C0F0283628}"
注:

ActiveX コントロールは、DotNet フレームワークとそのコントロールを考慮して、最新バージョンの Microsoft Windows オペレーティング システムで非推奨となりました。

MAXScript では引き続き ActiveX コントロールがサポートされますが、これらは MAXScript にアクセス可能なシステムにインストールおよび登録する必要があります。

ActiveX コントロールの代わりに、MAXScript では、3ds Max 9 以降において DotNet コントロールがサポートされます。

既存の ActiveX コードを DotNet に切り替える例につては、「ActiveX ListView コントロールの DotNet ListView コントロールへの変換」を参照してください。

説明:

ListView ActiveX コントロールは、MAXScript ロールアウトで最もよく使われる ActiveX コントロールの 1 つです。このコントロールは非常に柔軟でカスタマイズすることができるため、この章で詳細に説明します。リストやスプレッドシートの様なユーザ インタフェース コントロールを作成する場合に使用できます。

コンストラクタ:

activeXControl lv "MSComctlLib.ListViewCtrl"

プロパティ:

ListItems

.ListItems : IListItems   

このプロパティは ListItem にアクセスします。ListItem は Listview 内の行を表し、次のプロパティとメソッドが用意されています。

.ListItems プロパティ:

.ListItems.Count : integer

ListView コントロール内の ListItem の数を取得/設定します。

.ListItems[IndexList] : IListItem, read-only

インデックスで指定された ListItem を返します。インデックスの基数は 1 です。

.ListItems メソッド:

.ListItems.Add Index:undefined Key:undefined Text:undefined Icon:undefined SmallIcon:undefined

ListView コントロールに新しい ListItem を追加します。

.ListItems.Clear()

ListItem を消去します。すべての ListItem が ListView から削除されます。

.ListItems.Remove Index:undefined

インデックスで指定された ListItem を削除します。インデックスの基数は 1 です。

ColumnHeaders

.ColumnHeaders : IColumnHeaders

このプロパティは、ListView の列ヘッダにアクセスします。

.ColumnHeaders プロパティ:

.Count : integer

ListView コントロール内の列ヘッダの数を取得/設定します。

.Item[Index:undefined] : IColumnHeader, read-only

インデックスで指定された列ヘッダを ListView コントロールから取得します。インデックスの基数は 1 です。

単一列ヘッダのプロパティのリストについては「ColumnHeader のプロパティとメソッド」を参照してください。

.ColumnHeaders メソッド:

.Clear()

列ヘッダを消去します。すべての列ヘッダが ListView から削除されます。

.Remove Index:undefined

インデックスで指定された列ヘッダを削除します。インデックスの基数は 1 です。

._NewEnum()

戻り値のタイプがサポートされていません。

.Add Index:undefined Key:undefined Text:undefined Width:undefined Alignment:undefined Icon:undefined

ListView コントロールに新しい列を追加します。

.HideColumnHeaders : Boolean

このプロパティによって、列ヘッダを有効と無効を切り替えます。true に設定した場合、列ヘッダは非表示になります。false に設定した場合、列ヘッダは表示されます。.View プロパティが #lvwReport に設定されている場合にのみ、列ヘッダを使用できます。

.AllowColumnReorder : Boolean

true に設定した場合、ユーザは列をドラッグして、順序を指定することができます。false (既定値)に設定した場合、列の順序はロックされ、インタラクティブに変更できません

ListView のレイアウト:

.View: ListViewConstants( #lvwIcon | #lvwSmallIcon | #lvwList | #lvwReport )

ListView コントロールのビュー タイプを取得/設定します。

.Appearance : AppearanceConstant( #ccFlat | #cc3D )

ListView コントロールの外観を取得/設定します。#cc3D が既定値です。

.BorderStyle : BorderStyleConstants( #ccNone | #ccFixedSingle )

.Appearance#ccFlat に設定されている場合に境界スタイルをコントロールします。#ccFixedSingle に設定した場合、単一ピクセルの境界線が ListView の周囲に描かれます。

.Arrange : ListArrangeConstants( #lvwNone | #lvwAutoLeft | #lvwAutoTop )

ListView コントロールの配置を制御します。既定は #lvwNone です。

.DropHighlight : IListItem

ListItem をこのプロパティに割り当てると、この ListItem はハイライト表示されます(選択されていることを示していますが、選択された状態を示すフラグは設定されません)。このハイライトは、選択ハイライトには影響されません。DropHighlight が再び undefined に設定されるまで、指定された ListItem はハイライト表示されます。

以下のスクリーンショットでは、Teapot01 と表された ListItem は DropHighlight に割り当てられたもので、Box01 と表された ListItem はマウスで選択されたものです。

.LabelEdit: ListLabelEditConstants( #lvwAutomatic | #lvwManual )

ラベル(これが ListItem の最初の列のテキスト)の編集を制御します。既定は #lvwAutomatic です。

#lvwAutomatic に設定した場合、ユーザはこの項目をクリックして選択してからもう一度ラベル位置でクリックすると、テキスト フィールドが開き、任意のテキストを入力できます。

#lvwManual に設定した場合、開発者が .StartLabelEdit() メソッドを使用したときにのみ、ラベル編集を開始できます。

警告:

ラベル テキスト フィールドに入力するには、3ds Max のキーボード ショートカット(アクセラレータ)を無効にする必要があります。詳細は、「ActiveX - 3ds Max キーボード アクセラレータを無効にする」を参照してください。

.LabelWrap : Boolean

ラベル ラップを制御します。

.Checkboxes : Boolean

true に設定した場合、各 ListItem の最初の列にチェックボックスが表示されます。false (既定値)に設定した場合、ListItem ラベルだけが表示されます。

.Enabled : Boolean

既定値の true に設定した場合は、ListItems の選択、ラベルの編集、チェックボックスのチェック、列幅の調整などができます。false に設定すると、ListItems は「フリーズ」され、どのような方法でも変更できなくなります。

.ForeColor : OLE_COLOR

ListView の描画に使用するフォアグラウンド(テキスト)カラーを制御します。

.BackColor : OLE_COLOR

ListView の描画に使用するバックグラウンド カラーを制御します。

注:

ActiveX が使用する OLE_COLOR 値は RGB ではなく BGR です。

以下のスクリーンショットには、既定の白色のバックグラウンド(.BackColor プロパティを設定しない場合)、.BackColor = color 225 215 210、.BackColor = color 215 225 210、および .BackColor = color 210 215 225 の各例を示しています。

.GridLines : Boolean

false (既定値)に設定した場合、グリッド線は描かれません。true に設定した場合、行および列を区切るグリッド線が描かれます。

.FlatScrollBar : Boolean

false (既定値)に設定した場合、スクロールバーが表示されます。true に設定した場合、スクロールバーは表示されません。矢印キーを使用して選択を移動すれば上下方向にスクロールできますが、水平方向にはスクロールできません。

.Picture : IPictureDisp

バックグラウンドに画像を割り当てることができます。IPuctureDisp 値として ActiveX コントロールに画像を渡す方法の詳細については、「loadPicture」を参照してください。

以下の例は、Photoshop で作成し、24 bit の BMP ファイルでディスクに保存された 500 x 200 ピクセル サイズの黄色から赤色へのグラデーション画像を、次の行を使用して.Picture プロパティに渡したものです。

lv.picture = loadPicture "c:/3dsmax6/images/activex_gradient.bmp"

.PictureAlignment : ListPictureAlignmentConstants( #lvwTopLeft | #lvwTopRight | #lvwBottomLeft | #lvwBottomRight | #lvwCenter | #lvwTile )

.Picture プロパティに割り当てられた画像の位置合わせを制御します。

.TextBackground : ListTextBackgroundConstants( #lvwTransparent | #lvwOpaque )

テキスト バックグラウンドの外観を制御します。#lvwOpaque に設定した場合、上の例は次のように表示されます。

.Font : IFontDisp

使用されるフォントを制御する MSDisplatch 値を返します。MAXScript では設定できません。

選択

.SelectedItem : IListItem, read-only, default:undefined

選択された項目を返します。

.FullRowSelect : boolean

true に設定した場合、項目またはサブ項目を選択すると、行全体が選択されます。false に設定した場合、ListItem (最初の列)だけが選択されます。

.MultiSelect : Boolean

true に設定した場合、ユーザは複数の ListItem を同時に選択できます。false (既定値)に設定した場合、1 度に 1 つの ListItem しか選択できません。

.HideSelection : Boolean

true に設定した場合、選択は表示されません。false に設定した場合、選択が表示されます。

.HotTracking : Boolean

true に設定した場合、マウスが ListItems の上に移動すると、ListItems がハイライト表示されますfalse (既定値)に設定した場合、ListItem の上にマウスを移動しても影響はありません。

.HoverSelection : Boolean

true に設定した場合、ListItem の上にマウスを移動したときに、自動的にこの ListItem が選択されます。false (既定値)に設定した場合、ユーザがマウスでクリックしたときにのみ、ListItem は選択されます。

マウス アクセス

.MouseIcon : IPictureDisp

マウス アイコンを IPictureDisp 値で返します。MAXScript では設定できません。

.MousePointer : MousePointerConstants( #ccDefault | #ccArrow | #ccCross | #ccIBeam | #ccIcon | #ccSize | #ccSizeNESW | #ccSizeNS | #ccSizeNWSE | #ccSizeEW | #ccUpArrow | #ccHourglass | #ccNoDrop | #ccArrowHourglass | #ccArrowQuestion | #ccSizeAll | #ccCustom )

マウス ポインタが ListView Control の上にある場合のマウス ポインタのタイプを取得/設定します。スクリプト開発者は、このページで詳しく説明するマウス イベントを使用し、基礎となる内容か許可されているアクションによってマウス ポインタを変更できます。

ソート

.Sorted : Boolean

false (既定値)に設定した場合、ListView.ListItems 配列に追加した順序で、ListItem が表示されます。

true に設定した場合、ListItem はアルファベット順に並べられます。既定では、最初の列のテキストを使用して昇順に並べられます。

.SortOrder : ListSortOrderConstants( #lvwAscending | #lvwDescending )

.Sort を true に設定した場合、このプロパティはソートの方向を制御します。

以下のスクリーンショットは、同じオブジェクトを、ソートなし、昇順ソート、および降順ソートで表示したものです。

.SortKey : integer

MAXScript では設定できません。

アイコン

次のプロパティでは、ImageList ActiveX コントロールを割り当てて、ListView コントロールがアイコンとして使用する画像を指定することができます。

.View プロパティがそれぞれ #lvwIcon に設定されている場合にのみ、アイコンが表示されます。#lvwSmallIcon

.Icons : IVBDataObject

このプロパティを使用すると、アイコンをListView コントロールに割り当てることができます。アイコンとして使用する画像を含んだ IVBDataObject は「ImageList ActiveX コントロール」によって提供されます。

.SmallIcons : IVBDataObject, read-only, default:undefined

このプロパティを使用すると、小さなアイコンを ListView コントロールに割り当てることができます。アイコンとして使用する画像を含んだ IVBDataObject は、ImageList ActiveX コントロール コントロールによって提供されます。

.ColumnHeaderIcons : IVBDataObject, read-only, default:undefined

このプロパティを使用すると、ListView コントロールの列ヘッダにアイコンに割り当てることができます。アイコンとして使用する画像を含んだ IVBDataObject は、ImageList ActiveX コントロール コントロールによって提供されます。

ドラッグ アンド ドロップ

.OLEDragMode : OLEDragConstants( #ccOLEDragManual | #ccOLEDragAutomatic )

OLE Drag モードを制御します。

.OLEDropMode : OLEDropConstants( #ccOLEDropNone | #ccOLEDropManual )

OLE Drop モードを制御します。

OLE Windows メッセージ

.hWnd : OLE_HANDLE

これは、Windows メッセージを ActiveX コントロールに送信する場合に必要となる ActiveX ハンドルです。詳細については、「Sending Windows Message」を参照してください。

メソッド:

.FindItem sz:string Where:undefined Index:undefined fPartial:undefined
.GetFirstVisible()
.HitTest x:float y:float applyUIScaling:<true>
.StartLabelEdit()
.OLEDrag()
.Refresh()

イベント

on <control_name> BeforeLabelEdit Cancel:integer do ( ... )

ラベル編集を開始する前に呼び出されます。

on <control_name> AfterLabelEdit Cancel:integer NewString:string do ( ... )

ラベル編集を終了した後に呼び出されます。

on <control_name> ColumnClick ColumnHeader:ColumnHeader do ( ... )

ユーザが列ヘッダをクリックしたときに呼び出されます。ColumnHeader 引数には、クリックされた ColumnHeader が含まれます。ColumnHeader には、インデックスや位置合わせコントロールなどの固有のプロパティがあります。詳細は、「ColumnHeader のプロパティとメソッド」を参照してください。

on <control_name> ItemClick Item:ListItem do ( ... )

ユーザが ListItem をクリックしたときに呼び出されます。この項目引数には、クリックされた行の、0 を基数としたインデックスが含まれます。

キーボードおよびマウス クリック イベント

on <control_name> KeyDown KeyCode:integer Shift:integer do ( ... )

ユーザがキーを押したときに呼び出されます。KeyCode 引数には押されたキーの整数コードが含まれ、Shift 引数には[Shift]、[Ctrl]、および[Alt]キーが押されているかどうかを示すビットから成る整数値が含まれます。ビット 1 が[Shift]キー、ビット 2 が[Ctrl]キー、ビット 3 が[Alt]キーを表します。

0 - モディファイヤ キーは押されていません。

1 - 左または右の[Shift]キーが押されました。

2 - 左または右の[Ctrl]キーが押されました。

3 - [Ctrl] + [Shift]キーが同時に押されました。

4 - 左または右の[Alt]キーが押されました。

6 - [Ctrl] + [Alt]キーが同時に押されました。

7 - [Ctrl]、[Alt]、[Shift]キーが同時に押されました。

MAXScript 構文の例:

    on lv_objects keyDown theKeyCode theShiftState do
    (
    format "Key Code is %, Shift State is %\n" theKeyCode theShiftState
    )
    --where lv_objects is the name of the ActiveX ListView,
    --theKeyCode and theShiftState are user-defined variable names.
on <control_name> KeyUp KeyCode:integer Shift:integer do ( ... )

ユーザがキーを放したときに呼び出されます。KeyCode 引数には放したキーの整数コードが含まれ、Shift 引数には[Shift]、[Ctrl]、および[Alt]キーが押されているかどうかを示すビットから成る整数値が含まれます。上記を参照してください。

on <control_name> KeyPress KeyAscii:integer do ( ... )

ユーザがキーを押したときに呼び出されます。KeyAscii 引数には、押されたキーの ASCII 整数コードが含まれます。たとえば、[スペース]を押すと 32 が、[Shift]+[A]を押すと 65 が返されます。

on <control_name> MouseDown Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... )

ユーザがマウスで ListItem をクリックしたときに呼び出されます。

Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。

1 - 左マウス ボタンが押されました。

2 - 右マウス ボタンが押されました。

4 - 中央のマウス ボタンまたはホイールが押されました。

注:

複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。

Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。

x および y 引数には、ListView ピクセル座標(Twips ではありません)におけるクリックの位置が含まれます。ここで、0,0 は ListView コントロールの左上隅になります。

例:

    rollout test "Test"
    (
    activeXControl lv "MSComctlLib.ListViewCtrl" height:100 width:100
    on lv MouseDown Button Shift x y do
    format "Button: %, Shift: %, xy: %,%\n" Button Shift x y
    )
    createDialog test
on <control_name> MouseMove Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... )

ユーザがマウスを ListView コントロール内に移動したときに呼び出されます。

Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。

1 - 左マウス ボタンが押されました。

2 - 右マウス ボタンが押されました。

4 - 中央のマウス ボタンまたはホイールが押されました。

注:

複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。

Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。

x および y 引数には、ListView ピクセル座標(Twips ではありません)におけるクリックの位置が含まれます。ここで、0,0 は ListView コントロールの左上隅になります。

    --This script will print the mouse values
    --while you move the mouse inside the ListView control
    rollout test "Test"
    (
    activeXControl lv "MSComctlLib.ListViewCtrl" height:100 width:100
    on lv MouseMove Button Shift x y do
    format "Button: %, Shift: %, xy: %,%\n" Button Shift x y
    )
    createDialog test
on <control_name> MouseUp Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... )

ユーザが ListView コントロール上でマウスを放したときに呼び出されます。

Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。

1 - 左マウス ボタンが押されました。

2 - 右マウス ボタンが押されました。

4 - 中央のマウス ボタンまたはホイールが押されました。

注:

複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。

Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。

x および y 引数には、ListView ピクセル座標(Twips ではありません)におけるクリックの位置が含まれます。ここで、0,0 は ListView コントロールの左上隅になります。

    rollout test "Test"
    (
    activeXControl lv "MSComctlLib.ListViewCtrl" height:100 width:100
    on lv MouseUp Button Shift x y do
    format "Button: %, Shift: %, xy: %,%\n" Button Shift x y
    )
    createDialog test
on <control_name> Click do ( ... )

ユーザが ListView コントロール内でクリックしたときに呼び出されます。このイベントは特定の ListItem を返すわけではありませんが、すべての ListItem の選択状態や他のプロパティを問い合わせる場合に使用できます。これは、ユーザが ListView をクリックしたという一般的な通知であり、イベントによって行われる実際のアクションは、スクリプト開発者が指定できます。

on <control_name> DblClick do ( ... )

ユーザが ListView コントロール内でダブルクリックしたときに呼び出されます。

on <control_name> ItemCheck Item:ListItem do ( ... )

ユーザが ListItem のチェックボックスの状態が変更したときに呼び出されます(プロパティ .checkboxes = true であり、利用できる場合)。

Item 引数には、チェックボックスが変更された ListItem が含まれます。続いて、この項目の .checked プロパティにアクセスすると、新しい状態にアクセスできます。また、他のすべての ListItem プロパティにもアクセスできます。

OLE ドラッグ アンド ドロップ イベント

on <control_name> OLEStartDrag &Data:DataObject &AllowedEffects:integer do ( ... )

ユーザが ListView コントロールからドラッグを始めたときに呼び出されます。

on <control_name> OLEGiveFeedback &Effect:integer &DefaultCursors:boolean do ( ... )

ユーザが ListView コントロールからドラッグを始めたときに呼び出されます。

on <control_name> OLESetData &Data:DataObject &DataFormat:integer do ( ... )
on <control_name> OLECompleteDrag &Effect:integer do ( ... )
on <control_name> OLEDragOver &Data:DataObject &Effect:integer &Button:integer &Shift:integer &x:float &y:float &State:integer do ( ... )
on <control_name> OLEDragDrop &Data:DataObject &Effect:integer &Button:integer &Shift:integer &x:float &y:float do ( ... )

ListItem のプロパティとメソッド

ListItem は、.ListItems.Add() メソッドを使用して作成できます。また、上記のように 1 を基数としたインデックスで指定したアクセスを使用してアクセスできます。すべての ListItem には、次のプロパティとメソッドがあります。

ListItem のプロパティ:

.Text : string

ListItem のテキストを取得/設定します。

.Ghosted : Boolean

ListItem のゴースト状態を取得/設定します。

.Height : float

twip での ListItem の高さを返します。MAXScript では設定できません。

.Icon : undefined

ListItem のアイコンを取得/設定します。アイコンは、1 を基数としたインデックスを付けて .icons 配列に収められており、この配列は「ImageList ActiveX コントロール」によって管理されます。

.Index : integer

ListItem のインデックスを返します。MAXScript では設定できません。

.Key : string

ListItem のキーを返します。MAXScript では設定できません。

.Selected : Boolean

ListItem の選択状態を取得/設定します。true の場合、項目は選択され、false の場合、選択されません。ListItem を同時に複数選択できるか、それとも 1 つしか選択できないかは、ListView の .MultiSelect プロパティの状態によって決まります。1 つの ListItem の .selected プロパティを true に設定し、.MultiSelect を false に設定した場合、選択された他のすべての ListItem が自動的に選択解除されます。

.SmallIcon : undefined

ListItem の SmallIcon を取得/設定します。

.Tag : undefined

ListItem のタグを取得/設定します。

.Top : float

twip での上部座標を返します。

.Left : float

twip での左座標を返します。

.Width : float

twip での ListItem の幅を返します。

.ListSubItems : IListSubItems

ListItem のサブ項目の配列へのアクセスを提供します。サブ項目は、最初の列に続く列になります。サブ - 項目

サブ項目には、.ListSubItems へのインデックスで指定したアクセスを使用してアクセスできます。

    --to access the second sub-item of the first item in
    --a ListView Control stored in the variable lv,
    --you could use:
    lv.listItems[1].listSubItems[2]
.Checked : Boolean

ListItem のチェック状態を取得/設定します。この後で説明する on ItemCheck do イベント ハンドラも参照してください。

.ForeColor : OLE_COLOR

ListItem のテキスト カラーを取得/設定します。

注:

ActiveX が使用する OLE_COLOR 値は RGB ではなく BGR です。

.ToolTipText : string

ListItem のツールチップ テキストを取得/設定します。

.Bold : Boolean

ListItem の太字テキスト プロパティを取得/設定します。true に設定した場合、テキストは太字で表示されます。

.ListItem メソッド:

.CreateDragImage()
.EnsureVisible()

必要に応じてビューをスクロールすることで、ListView に ListItem が表示された状態にします。

ListSubItem のプロパティとメソッド

ListSubItem は、.ListItems.Add() メソッドを使用して作成できます。また、上記のように 1 を基数としたインデックスで指定したアクセスを使用してアクセスできます。すべての ListItem には、次のプロパティがあります。

ListSubItem のプロパティ:

.Text : string

ListSubItem のテキストを取得/設定します。

.ForeColor : OLE_COLOR

ListSubItem のテキスト カラーを取得/設定します。

注:

ActiveX が使用する OLE_COLOR 値は RGB ではなく BGR です。

.Bold : boolean

ListSubItem の太字テキスト プロパティを取得/設定します。true に設定した場合、テキストは太字で表示されます。

.ToolTipText : string

ListSubItem のツールチップ テキストを取得/設定します。

.Index : integer

ListSubItem のインデックスを返します。MAXScript では設定できません。

.Key : string
.Tag : undefined
.ReportIcon : undefined

ListSubItem のメソッド:

メソッドは公開されません。

ColumnHeader のプロパティとメソッド

すべての ColumnHeader には、次のプロパティがあります。

ColumnHeader のプロパティ:

.Text : string

ColumnHeader によって表示されるテキストを取得/設定します

.Alignment : ListColumnAlignmentConstants( #lvwColumnLeft | #lvwColumnRight | #lvwColumnCenter )

列ヘッダのテキストの位置合わせを取得/設定します。

.Index : integer

列ヘッダのインデックスを取得します。

.Key : string

列ヘッダのキーを取得します。

.Left : float

twip での列ヘッダの左マージンを取得します。

.SubItemIndex : integer

列ヘッダのサブ項目インデックスを取得します。

.Tag : undefined

列ヘッダのタグを取得/設定します。

.Width : float

twip での列の幅を取得/設定します。

.Icon : undefined

列ヘッダのアイコンを取得/設定します。アイコンは、1 を基数としたインデックスを付けて .icons 配列に収められており、この配列は ImageList ActiveX コントロールによって管理されます。アイコンが割り当てられていない場合、このプロパティは 0 を返します。

.Position : integer

列ヘッダの位置を取得/設定します。この位置により列の順序が決まります。既定では、.Position は .Index プロパティと同じになるように設定されています。列の順序を効果的に変更し、適切な位置に列を配置するには、.Position を別の値に設定します。

ColumnHeader のメソッド:

メソッドは公開されません。