VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ListBox コントロール関係のメニュー
1.ListBox コントロールに関するワンポイントテクニック集
2.ListBox 内の項目の高さ(行の高さ)を設定する
3.リストボックス内のすべての項目を完全一致・前方一致検索
4.ListBox に複数の項目を指定位置に揃えて表示/表示データを個別に取得
5.リストボックスの指定位置に複数のタブストップ位置を設定
6.ListBox 内の項目の色を個別に設定する(オーナードローによる)
7.ListBox の背景色を1行飛びに設定する(オーナードローによる)
8.テキストファイルを読み込んでリストボックスに表示及びファイルに保存
9.2つのリストボックスのスクロールの同期を取る
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の ListBox コントロールに関するサンプル


2.ListBox 内の項目の高さ(行の高さ)を設定する(19_Lst_03) (旧、SampleNo.103)
1.ListBox 内の項目の高さを設定する(オーナードローによる)
2.ListBox 内の項目の高さを設定する(Win 32 API 関数を使って)
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :System.Runtime.InteropServices
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.ListBox 内の項目の高さを設定する(オーナードローによる)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'ListBox の項目のリストに項目を追加します。
    With ListBox1
        .Items.Add("あいうえお")
        .Items.Add("かきくけこ")
        .Items.Add("さしすせそ")
        .Items.Add("たちつてと")
        .Items.Add("なにぬねの")
        .Items.Add("はひふへほ")
        .Items.Add("まみむめも")
        .Items.Add("や ゆ よ")
        .Items.Add("らりるれろ")
        .Items.Add("わをん")
    End With
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'1.ListBox 内の項目の高さを設定する(オーナードローによる)
    If ListBox1.DrawMode = DrawMode.OwnerDrawFixed Then
        ListBox1.DrawMode = DrawMode.Normal
    Else
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
        'ListBox 内の項目の高さを取得または設定します。
        ListBox1.ItemHeight = 30
    End If
End Sub

Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
    '項目が選択された場合は強調表示
    e.DrawBackground()
    Using myBrush As New SolidBrush(e.ForeColor)
        e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, myBrush, _
                New RectangleF(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height))
        '描画されている項目に Focus がある場合は、フォーカスを示す四角形を描画する
        e.DrawFocusRectangle()
    End Using
End Sub

このページのトップへ移動します。 2.ListBox 内の項目の高さを設定する(Win 32 API 関数を使って)
下記の宣言部分は、それぞれ指定の箇所に書いて下さい。

Imports System.Runtime.InteropServices

<DllImport("USER32.DLL", CharSet:=CharSet.Auto)> _
Private Shared Function SendMessage( _
    ByVal hWnd As IntPtr, _
    ByVal wMsg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Integer) As Integer
End Function

'指定の項目の高さを設定する(P827)
Private Const LB_SETITEMHEIGHT As Integer = &H1A0

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'2.ListBox 内の項目の高さを設定する(Win 32 API 関数を使って)
    Dim Ret As Integer
    'ListBox 内の項目の高さを 30 ピクセルに設定します
    Ret = SendMessage(ListBox1.Handle, LB_SETITEMHEIGHT, 0, 30)
    ListBox1.Refresh()
End Sub

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
リストボックス 行の高さを設定




このページのトップへ移動します。