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の逆引きヘルプに記載しております。) |