[リストへもどる]
一括表示

投稿時間:2002/10/13(Sun) 13:07
投稿者名:匿名
Eメール:
URL :
タイトル:
リストビューのチェックボックスをグレー表示
VB6のListViewコントロールにCheckBoxを表示して特定項目の
CheckBoxを無効(常にCheck Off)は、ItemCheckイベントで
Item.Checked = Falseによりできました。しかし、そのCheck
イメージの背景色をグレー(灰色)にする方法がわかりません。
実現方法を教えて下さい。宜しくお願いします。

投稿時間:2002/10/13(Sun) 21:50
投稿者名:NAO★
Eメール:
URL :
タイトル:
Re: リストビューのチェックボックスをグレー表示
ひょっとしたらちゃんとした方法があるのかもしれませんが、
参考として、CheckBox の代わりにSmallIcomを使って描画するというのを
挙げておきます。

要するにアイコンを入れ替えることでチェックボックスを表現する
というものです。
Checked プロパティだとTrueかFalseの値しか取れませんが
アイコンならアイコンの数だけ状態がもてますので、他にも応用が利きます

'ImageListコントロールにアイコンを登録して
'ListViewのプロパティページで「イメージリスト」タブの
'「小さいアイコン」にImageListを登録しておく
'インデックス1 押されていない状態のアイコン
'インデックス2 押されている(チェックの入っている)状態のアイコン
'インデックス3 無効な状態(灰色)のアイコン
Private Sub Form_Load()
Dim i As Integer
    ListView1.View = lvwSmallIcon 'スモールアイコン形式で表示
    With ListView1.ListItems
        For i = 1 To 100
            .Add , , "test" & i, , (i Mod 3) + 1
        Next
    End With
    
End Sub

Private Sub ListView1_Click()
    Dim i As Integer
    With ListView1.SelectedItem
        i = .SmallIcon
        If i = 3 Then   '無効
            Exit Sub
        Else
            .SmallIcon = (i Mod 2) + 1  'アイコンの入れ替え
        End If
    End With
End Sub

投稿時間:2002/10/14(Mon) 20:09
投稿者名:匿名
Eメール:
URL :
タイトル:
Re^2: リストビューのチェックボックスをグレー表示
回答ありがとうぎざいます。
SmallIconを使用するとは気が付きませんでした。
項目にアイコンを表示しない場合は、有用な方法と感心しました。
ただ、今回はSmallIconを既に使用しているので採用できない状況です。
他に方法はないのでしょうか?