投稿日 | : 2004/06/14(Mon) 11:44 |
投稿者 | : おじん |
URL | : |
タイトル | : Polyline(API)とScaleについて |
折れ線グラフをイメージしています。形はよいのですが、大きさが思うように
描画されません(小さくなる)。line文でできることなのですが、色々と雑学
中です。よろしくお願いいたします。ソース例を示します。
Option Explicit
Private Type POINT
X As Long
Y As Long
End Type
Private Declare Function Polyline Lib "gdi32" ( _
ByVal hdc As Long, _
lpPoint As POINT, _
ByVal nCount As Long) As Long
Private xy(39) As POINT
Private Sub Form_Click()
Dim n&
Picture1.Scale (0, 10)-(40, -2) '<---ここがおかしい?
' Picture1.AutoRedraw = False
For n = 0 To 39 'テストデータ
xy(n).X = n: xy(n).Y = n Mod 9
Next n
Polyline Picture1.hdc, xy(0), 40 '<---思わしい結果でない!
Polyline Form1.hdc, xy(0), 39 '<---Scaleしていないのに何故?
'
Picture1.Line (0, 0)-(40, 10) '<---データとは関係ないが
' このScaleでは、見かけ正しい
End Sub
疑問1.PictureBoxとFormに同じようなグラフを描画するのは何故?
疑問2.xy(n).x xy(n).y の値に相当する大きさに描画されないのは何故?
Picture1.Scaleで縦10、横40のつもり(端、マイナスは除く)