複数の閉じた多角形を描画 <TOP>
PolyPolygon 複数の閉じた多角形を描画
GetDC デバイスコンテキストのハンドルを取得
ReleaseDC デバイスコンテキストを解放
例では、四角形と三角形を描画しています。
参照
'================================================================ '= 複数の閉じた多角形を描画
'= (PolyPolygon.bas) '================================================================ #include "Windows.bi" Type POINTAPI x As Long y As Long End Type ' 複数の閉じた多角形を描画 Declare Function Api_PolyPolygon& Lib "gdi32" Alias "PolyPolygon" (ByVal hDC&, lpPoint As POINTAPI, lpPolyCounts&, ByVal nCount&) ' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var pts(6) As POINTAPI Var numpoints(1) As Long Var hDC As Long Var Ret As Long 'デバイスコンテキスト取得 hDC = Api_GetDC(GethWnd) '□のポイント pts(0).x = 20 : pts(0).y = 20 pts(1).x = 220: pts(1).y = 20 pts(2).x = 200: pts(2).y = 60 pts(3).x = 20 : pts(3).y = 80 numpoints(0) = 4 '△のポイント pts(4).x = 100: pts(4).y = 0 pts(5).x = 50 : pts(5).y = 100 pts(6).x = 200: pts(6).y = 90 numpoints(1) = 3 '□と△のポリゴン描画 Ret = Api_PolyPolygon(hDC, pts(0), numpoints(0), 2) 'デバイスコンテキスト解放 Ret = Api_ReleaseDC(GethWnd, hDC) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End