TreeViewのノード選択時のハイライト表示を変更したい
投稿者 shu  (社会人)
投稿日時
2012/1/30 07:55:28
オーナードローが必要になるかと思います。
DrawMode = OwnerDrawAll
Private Sub TreeView1_DrawNode(sender As Object, e As System.Windows.Forms.DrawTreeNodeEventArgs) Handles TreeView1.DrawNode
Dim g = e.Graphics
Dim bnd = e.Bounds
g.FillRectangle(Brushes.Cyan, bnd)
g.DrawString(e.Node.Text, TreeView1.Font, Brushes.DarkBlue, New Point(bnd.X + e.Node.Level * TreeView1.Indent, bnd.Y))
End Sub
上記はとりあえず描画出来る程度です。文字幅に合わせた背景塗りとか+の表示など他にも描画が
必要です。用途に合わせその他のものも描画すると良いと思います。
DrawMode = OwnerDrawAll
Private Sub TreeView1_DrawNode(sender As Object, e As System.Windows.Forms.DrawTreeNodeEventArgs) Handles TreeView1.DrawNode
Dim g = e.Graphics
Dim bnd = e.Bounds
g.FillRectangle(Brushes.Cyan, bnd)
g.DrawString(e.Node.Text, TreeView1.Font, Brushes.DarkBlue, New Point(bnd.X + e.Node.Level * TreeView1.Indent, bnd.Y))
End Sub
上記はとりあえず描画出来る程度です。文字幅に合わせた背景塗りとか+の表示など他にも描画が
必要です。用途に合わせその他のものも描画すると良いと思います。
ノード選択時にハイライト表示になる時の文字色・背景色を変更したいのですが、
TreeNodeにはハイライト時の文字色・背景色のプロパティがないため、
何らかの方法でノード選択時のハイライト表示の変更方法があれば、
ぜひとも教えて頂きたいです。
まずは、ノード選択時も非選択時と同じ文字色・背景色にしたいです。
VBのバージョンは2008です。