TOP > カテゴリ > Visual Basic >

色々な図形を描画する

色々な図形を描画するサンプルです。

サンプルの実行画面

APIの宣言

[Zekei.bas]

'Arc=>円を描画する

'<引数>
'hDC:  デバイスコンテキストのハンドル
'X1:   左上隅のX座標
'Y1:   左上隅のY座標
'X2:   右下隅のX座標
'Y2:   右下隅のY座標
'X3:   始点のX座標
'Y3:   始点のY座標
'X4:   終点のX座標
'Y4:   終点のY座標

'<戻り値>
'正常終了0以外

Public Declare Function Arc Lib "GDI32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long


'Ellipse=>楕円を描画する

'<引数>
'hDC:  デバイス コンテキストのハンドル
'X1:   包含する矩形の左上のX座標
'Y1:   同、Y座標
'X2:   同、右下のX座標
'Y2:   同、Y座標

'<戻り値>
'正常終了0以外

Public Declare Function Ellipse Lib "GDI32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long


'Pie=>円を描画する

'<引数>
'hDC:  デバイスコンテキストのハンドル
'X1:   左上隅のX座標
'Y1:   左上隅のY座標
'X2:   右下隅のX座標
'Y2:   右下隅のY座標
'X3:   始点のX座標
'Y3:   始点のY座標
'X4:   終点のX座標
'Y4:   終点のY座標

'<戻り値>
'正常終了0以外

Public Declare Function Pie Lib "GDI32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long


'Rectangle=>長方形を描画する

'<引数>
'hDC:  デバイスコンテキストのハンドル
'X1:   左上隅のX座標
'Y1:   左上隅のY座標
'X2:   右下隅のX座標
'Y2:   右下隅のY座標

'<戻り値>
'正常終了0以外

Public Declare Function Rectangle Lib "GDI32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

'Rectangle=>長方形を描画する

'<引数>
'hDC:  デバイスコンテキストのハンドル
'X1:   左上隅のX座標
'Y1:   左上隅のY座標
'X2:   右下隅のX座標
'Y2:   右下隅のY座標
'X3: まるくする幅
'Y3: まるくする高さ

'<戻り値>
'正常終了0以外

Public Declare Function RoundRect Lib "GDI32" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

APIの呼び出し

[Zekei.frm]

Private Sub Command1_Click(Index As Integer)

Dim Ret As Long

Picture1.Cls

Select Case Index

     Case 0
      '円を描画する--->VBの標準機能を使ったほうが良い
         Ret = Arc(Picture1.hDC, 0, 0, 205, 205, 0, 0, 0, 0)
     Case 1
      '楕円を描画する
         Ret = Ellipse(Picture1.hDC, 0, 30, 205, 175)
     Case 2
      '扇型を描画する
         Ret = Pie(Picture1.hDC, 0, 0, 205, 205, 0, 0, 205, 205)
     Case 3
      '長方形を描画する
         Ret = Rectangle(Picture1.hDC, 30, 30, 180, 180)
     Case 4
      '角の丸い長方形を描画する
        Ret = RoundRect(Picture1.hDC, 30, 30, 180, 180, 30, 30)
     Case 5
        End
End Select

End Sub

ソースコード一式のダウンロード

vbapi_zekei.zip 1.93 KB (1,983 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00351