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

投稿時間:2004/02/24(Tue) 15:23
投稿者名:kamurin
Eメール:kamurin@hotmail.com
URL :
タイトル:
ListBox
初めまして、 よろしくお願いします。
VB6.0使ってます。

指定したListBox内に指定した文字列が有るかを調べる関数を作りたくて、
下記の様にしてみたのですが、

Public Function GetListIndex(List As ListBox, Str As String)
    Dim i As Integer
    For i = 0 To ListBox.ListCount - 1
        ListBox.ListIndex = i
        If ListBox.Text = Str Then Exit For '見つけたらFor文を出る
    Next
    If i > ListBox.ListCount Then
        GetListIndex = i  'ListIndexを返す
    Else
        GetListIndex = -1 '項目がListBox無いに無かった
    End If
End Function

Index = GetListIndex(調べたいListBox, "調べたい文字列")

これだと、ListBox.ListIndex = i のトコロで、調べたいListBox_Click()が呼ばれてしまいます。

調べたいListBox_Click()側で色々と処理を行っているので呼ばれたく無い状況なんです。

調べたいListBox_Click()が呼ばれない方法又は、
指定したListBox内に指定した文字列が有るかを調べる善い方法が在れば教えてください。

分かりにくい説明ですみません。

投稿時間:2004/02/24(Tue) 15:53
投稿者名:ひでかず
Eメール:
URL :
タイトル:
Re: ListBox
リストインデックスを変更しないで、値だけ見ていけばいいのではないでしょうか?
こんな感じでできないですか?

For i = 0 To ListBox.ListCount - 1
 If ListBox.List(i) = Str Then Exit For '見つけたらFor文を出る
Next

投稿時間:2004/02/24(Tue) 17:19
投稿者名:kamurin
Eメール:kamurin@hotmail.com
URL :
タイトル:
Re^2: ListBox
どうも、 有難う御座いました。
ListBox.List(i)
で解決しました。

ListIndex変えないとって思い込んでました。