http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+200310/03100086.txt
↑をVB.NETで実現したいと思っています。
将来、指定した位置の項目にグラフをもってこれるようにしたいと思っているので、
リストビューを継承して新しいクラスを作る形をとることにしました。
以下のようなクラスを作りました。
Class CustumListView
Inherits ListView
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = &HF Then '&HF = WM_PAINT
OnPaint(New PaintEventArgs(Me.CreateGraphics(), Me.Bounds))
End If
MyBase.WndProc(m)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim g As Graphics
Dim br = New SolidBrush(Color.Blue)
g = e.Graphics()
g.FillRectangle(br, Me.GetItemRect(0))
End Sub
End Class
今は仮に1行目の項目を塗りつぶすことにしてあります。
聞きたいことは
1.columnの幅を変えたときにグラフがちらつくのですがこれを回避する方法はないでしょうか?
2.指定した位置の項目(SubItem?)のRectangle(もしくは座標)を取得する方法はないでしょうか?
他にもここはこうしたほうが良いという指摘があったどんどんお願いします。