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

解決


困ったチャン  2009-05-20 03:23:14  No: 101755

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


魔界の仮面弁士  2009-05-20 21:47:16  No: 101756

これでどうかな…。

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 19:43:01  No: 101757

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加