■59260 / inTopicNo.23) |
Re[17]: Form, TabPagの再描画などについてお教え下さい。 |
□投稿者/ shu (707回)-(2011/05/20(Fri) 07:55:39)
|
■No59225 (mine さん) に返信
> ただAutoScroll=true, AutoScrollMin=0,500、Size=352,546にしています。 これで一度チェックしてみて頂けませ
AutoScrollMinをTabControlの高さより高く設定したら確かにスクロールバーの表示を確認出来ました。失礼しましたmm
いちおう以下で
Private Sub TabPage1_Scroll(sender As Object, e As System.Windows.Forms.ScrollEventArgs) Handles TabPage1.Scroll
TabPage1.Invalidate()
End Sub
再描画は確認出来ましたが、座標がスクロール分を考慮しないといけないようなので描画処理でスクロール分シフト
して下さい。多少のちらつきがあるかもしれません。
スクロールポジションを考慮したサンプルです↓
Private Sub TabPage1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles TabPage1.Paint
Call DrawPic(e.Graphics, TabPage1.AutoScrollPosition.Y)
End Sub
Private Sub DrawPic(ByVal g As Graphics, baseY As Integer)
Dim Fonts As New Font("MS 明朝", 12)
g.DrawString("AAAAAAAAA", Font, Brushes.Black, 100, 200 + baseY)
g.DrawString("BBBBBBBBB", Font, Brushes.Black, 100, 230 + baseY)
Dim points = New Point() {New Point(90, 10 + baseY), New Point(20, 180 + baseY), _
New Point(190, 50 + baseY), New Point(10, 70 + baseY), _
New Point(200, 180 + baseY)}
g.FillPolygon(Brushes.Black, points, System.Drawing.Drawing2D.FillMode.Alternate)
End Sub
Private Sub TabPage1_Scroll(sender As Object, e As System.Windows.Forms.ScrollEventArgs) Handles TabPage1.Scroll
TabPage1.Invalidate()
End Sub
|
|