- ベストアンサー
PictureBoxのDrawWidthの設定
VB(6.0)の PictureBox の Paint メソッド内で,Line で描画を行っているのですが, PictureBox.DrawWidthの値に大きな値(15pixel程度)を設定すると, なぜか PictureBox 全体が塗りつぶされて しまいます. (PictureBox.ScaleMode = vbPixels かつ1024×768Pixelの全画面表示にしております) このような現象を経験された方はいらっしゃいませんでしょうか? 宜しくお願いいたします.
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私の環境 WinXPPro VB6SP5 ですが、再現しません。 環境が違うことを願います。 まさかScaleWidth/ScaleHeightを触ったとか? そちらの環境は?
補足
お返事ありがとうございます. WinXP HomeEdition VB6SP2 です. ScaleWidth/ScaleHeightは触っておりません. 以下のような感じで, GetLineY という関数を使って曲線を引いています. Timer イベントで繰り返し描画しているのですが, PictureBox.DrawWidth が大きな値だと, なぜか数回に1回だけ PictureBox 全体が塗りつぶされ てしまいます. 宜しくお願いいたします. POS = 300 DispX = 1024 Private Sub Picture1_Paint() Picture1.PSet (POS, GetLineY(POS)) Picture1.DrawWidth = 15 For x1 = POS + 1 To DispX - POS y1 = GetLineY(x1) Picture1.Line -(x1, y1), vbCyan Next Picture1.DrawWidth = 2 End Sub Public Function GetLineY(x As Integer) Dim y As Double y = Cos(2 * x * PI / 180) GetLineY = y End Function