リストボックスの各種操作2
リストボックスの各種操作2のサンプルです。
サンプルの実行画面
ソースコード
[ListItem2.frm]
'SendMessage=>メッセージをウインドウに送る '<引数> 'hWnd:ウインドウのハンドル 'wMsg:定数(LB_××参照) 'wParam:パラメータ 'lParam:0 '<戻り値> 'その時により異なる Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 'SendMessageString=>メッセージをウインドウに送る '<引数> 'hWnd:ウインドウのハンドル 'wMsg:定数(LB_××参照) 'wParam:パラメータ 'lParam:0 '<戻り値> '正常終了-1以外 Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long Const LB_SELECTSTRING = &H18C 'リストボックスの文字列を検索してハイライト表示 Const LB_SETCURSEL = &H186 'リストボックスの指定の項目をハイライト表示 Const LB_GETCOUNT = &H18B 'リストボックスの項目数を返す Const LB_GETCURSEL = &H188 'リストボックスで現在選択されている項目の項目番号を返す Private Sub Command1_Click() Dim Ret As Long '戻り値 '文字列を検索する Ret = SendMessageString(List1.hwnd, LB_SELECTSTRING, 0, Text1.Text) If Ret = -1 Then MsgBox "検索した結果「" & Text1.Text & "」は見つかりませんでした。" '*【検索方法】大文字、小文字を判別しません End Sub Private Sub Command2_Click(Index As Integer) Dim Count As Long 'リストアイテム数 Dim ListIndex As Long '選択されているリスト番号 'リストボックスのアイテム数を取得する--->VB標準機能でもOK Count = SendMessage(List1.hwnd, LB_GETCOUNT, 0, 0) '今現在選択されている項目番号を取得する ListIndex = SendMessage(List1.hwnd, LB_GETCURSEL, 0, 0) 'リストが選択されてない場合は終了 If ListIndex = -1 Then MsgBox "リストを選択して下さい" Exit Sub End If Select Case Index Case 0 If ListIndex = 0 Then MsgBox "上に移動できません" Exit Sub Else '選択している項目を上に移動する Call SendMessage(List1.hwnd, LB_SETCURSEL, ListIndex - 1, 0) End If Case 1 If ListIndex = 31 Then MsgBox "下に移動できません" Exit Sub Else '選択している項目を上に移動する Call SendMessage(List1.hwnd, LB_SETCURSEL, ListIndex + 1, 0) End If End Select End Sub 'リストボックスの初期処理 Private Sub Form_Load() For i = 0 To 9 List1.AddItem "0" & i & vbTab & "リストボックスの各種操作②" Next For i = 10 To 25 List1.AddItem i & vbTab & "リストボックスの各種操作②" Next List1.AddItem "ABCDE" List1.AddItem "GHIJKL" List1.AddItem "アイウエオ" List1.AddItem "カキクケコ" List1.AddItem "あいうえお" List1.AddItem "かきくけこ" End Sub
ソースコード一式のダウンロード
vbapi_listitem2.zip 1.74 KB (1,784 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | リストボックスの各種操作1 |
次の記事: | テキストボックスでのカーソル位置を取得する |
公開日:2015年03月05日
記事NO:00403