オプションボタンの管理ツール:ListViewコントロール
昨日は、シート上に配置された複数のオプションボタンについて、キャプションを編集する仕掛けを考えてみた。
infoment.hatenablog.com
でも、何だかあんまりイケテナイ気がする。そこで、ふと思った。
リストボックスを「ListView」にしたらどうなるか?
早速やってみよう。
今回 ListView の使い方などについては、↓こちらを参考にした。
officetanaka.net
LIstViewの設定がこちら。前半はリストボックスの時と同じで、後半がListViewの設定になっている。
Private Sub SetListView() Set Dict = New Dictionary Dim i As Long For i = 1 To col.Count With col.Item(i).Object ListSeq(i, 1) = col.Item(i).Name ListSeq(i, 2) = .GroupName ListSeq(i, 3) = .Caption ' 重複除去のために辞書を用いているため、アイテム不問。 Dict(.GroupName) = 1 End With Next With ListView1 .View = lvwReport .LabelEdit = lvwManual .HideSelection = False .AllowColumnReorder = True .FullRowSelect = True .Gridlines = True .ColumnHeaders.Add , "_ObjectName", "オプションボタン名称", 120 .ColumnHeaders.Add , "_GroupName", "グループ名", 120 .ColumnHeaders.Add , "_Caption", "キャプション", 120 For i = 1 To col.Count With .ListItems.Add .Text = ListSeq(i, 1) .SubItems(1) = ListSeq(i, 2) .SubItems(2) = ListSeq(i, 3) End With Next End With End Sub
結果、このような見た目になった。
ListViewのヘッダーを設定できるようになったので、ラベルが3つ不要になった。
「.Gridlines = True」にして罫線を見えるようにしたので、見た目も良くなった。
後は前回までの動作をこちらで再現できるかどうかだが・・・それは、これからの挑戦です(とりあえず、今日はここまで)。
参考まで。