ListBox(チェックボックスstyle)で強調表示とチェックを連動させるには?

解決


困ったチャン  2009-05-19 18:23:14  No: 101755  IP: [192.*.*.*]

【開発環境】WinXP/VB6(SP6)
ListBox(チェックボックスstyle)において、チェックボックス部分でなくリストの部分をクリックした場合、強調表示されますがこれと同時にチェックボックスのON/OFFを行いたいのですが1度目のクリック(同一リストITEM)では強調表示されるだけでチェックボックスがONとならず2度目にクリックするとONとなり、その後はクリックのたびにON/OFFが同期してチェックが入ります。これが最初のクリックでチェックボックスをONとしたいのですがご教授願えませんでしょうか。

編集 削除
魔界の仮面弁士  2009-05-20 12:47:16  No: 101756  IP: [192.*.*.*]

これでどうかな…。

Option Explicit

Private Function GetTag(ByVal lb As ListBox) As String
    GetTag = IIf(lb.Selected(lb.ListIndex), "T", "F") & CStr(lb.ListIndex)
End Function

Private Sub List1_Click()
    If List1.Tag <> GetTag(List1) Then
        List1.Selected(List1.ListIndex) = Not List1.Selected(List1.ListIndex)
    End If
End Sub

Private Sub List1_ItemCheck(Item As Integer)
    List1.Tag = GetTag(List1)
End Sub

編集 削除
困ったチャン  2009-05-21 10:43:01  No: 101757  IP: [192.*.*.*]

魔界の仮面弁士様
早速のご教授、ありがとうございました!
試した結果、思い通りの動作をいたしました。

編集 削除