玄関へお回り下さい。
ListBox内の項目の高さを設定する(オーナードローによる)              (SNo.103)
使用コントロール Button1  ListBox1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
★ ListBox内の項目の高さを設定する(オーナードローによる)
 
Private Sub Button1_Click_1(ByVal sender As System.Object, _
                            ByVal e As System.EventArgs) Handles Button1.Click
'ListBox 内の項目の高さを設定します。
    If ListBox1.DrawMode = DrawMode.OwnerDrawFixed Then
        ListBox1.DrawMode = DrawMode.Normal
    Else
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
        'ListBox 内の項目の高さを取得または設定します。
        ListBox1.ItemHeight = 24
    End If
End Sub


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


別途、下記のような表示データをご用意下さい。

Private Sub Form1_Load(ByVal sender As System.Object, _
                       ByVal e As System.EventArgs) Handles MyBase.Load
    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
 
別途、Win32 API (SendMessage) 関数を使っても実行できます。(サンプルはVB6.0の逆引きヘルプに記載しております。)




2004/06/12
2005/10/18


VBレスキュー(花ちゃん)
VB.NET2003  VB2005