色々な図形を描画する
色々な図形を描画するサンプルです。
サンプルの実行画面
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」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | 画像を拡大する |
次の記事: | Exeファイル等からアイコンを取得して描画する |
公開日:2015年03月04日
記事NO:00351