VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -