投稿時間: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のつもり(端、マイナスは除く)
|