リストボックスのチェックボックスにチェックするには?


shimadu  2005-01-11 00:50:31  No: 87745  IP: [192.*.*.*]

VisualBasic6.0のリストボックスについてお聞きしたいのですが、

リストボックスのプロパティでStyleをチェックボックスにしたときに、
マウスでクリックすれば、チェックがつきますが、プログラムからチェックをつける方法がいろいろ調べたのですが、分かりません。

すみませんが、どうかご教授願います。


一様、出来なかったコードを載せます。
例えば、リストボックスの"テスト"という項目に、チェックつけたい場合
lst_disp.Selected("テスト") = False

編集 削除
魔界の仮面弁士  2005-01-11 09:17:27  No: 87746  IP: [192.*.*.*]

> 一様、出来なかったコードを載せます。
一様(いちよう)ではなく、一往/一応(いちおう)ですよね。

《いちよう》
(1)みんな同じような様子であるさま。
(2)ありふれているさま。普通。

《いちおう》
十分といえないがとりあえず。ひとまず。ともかく。ひと通り。


> 例えば、リストボックスの"テスト"という項目に、チェックつけたい場合
> lst_disp.Selected("テスト") = False

もし、文字列を渡す仕様だとしたら、「テスト」という項目が
複数登録されていた場合に、対応できませんよね。

Selectedの引数には、文字列ではなく、項目番号を入れる事になります。

    List1.Selected(0) = True
    List1.Selected(1) = False
    List1.Selected(2) = True

編集 削除
Say  2005-01-11 12:29:54  No: 87747  IP: [192.*.*.*]

文字列で引きたかったら、たとえばDictionaryを併用して、
こんなかんじ

Option Explicit
Private dic As New Scripting.Dictionary
Private Sub Command1_Click()
    List1.Selected(dic("ううう")) = True
End Sub

Private Sub Form_Load()
    Dim arraybuf As Variant, i As Long
    arraybuf = Array("あああ", "いいい", "ううう", "えええ", "おおお")
    For i = 0 To UBound(arraybuf)
        List1.AddItem arraybuf(i)
        dic(arraybuf(i)) = List1.NewIndex
    Next
End Sub

編集 削除