by konisi » 2007年7月07日(土) 20:23
DrawLineは(AB2.61,AB2.62,AB3.13,AB4.13,AB4.23で試しましたが)宣言されていないので、Include\basic\prompt.sbpを参考にLineToとMoveToExを使うか、或いは(急造ですが)下の関数を使ってみてください。
コード: 全て選択
Sub DrawLine(hDC As HDC,sx As Long,sy As Long,ex As Long,ey As Long,ColorCode As Long,IsBasicColor As Long)
'引数"IsBasicColor"が非0の時、ColorCodeはGetBasicColorを参照する。それ以外のときはRGB値として処理する。
'元のDrawLine関数のパラメータが不明だったので、必要なパラメータを再配置した。
Dim hPen As HPEN,hOldPen As VoidPtr
If IsBasicColor then ColorCode=GetBasicColor(ColorCode)
hPen=CreatePen(PS_SOLID,1,ColorCode)
hOldPen=SelectObject(hDC,hPen)
MoveToEx(hDC,sx,sy,ByVal NULL)
LineTo(hDC,ex,ey)
SetPixel(hDC,ex,ey,ColorCode)
SelectObject(hDC,hOldPen)
DeleteObject(hPen)
End Sub
DrawLineは(AB2.61,AB2.62,AB3.13,AB4.13,AB4.23で試しましたが)宣言されていないので、Include\basic\prompt.sbpを参考にLineToとMoveToExを使うか、或いは(急造ですが)下の関数を使ってみてください。
[code]Sub DrawLine(hDC As HDC,sx As Long,sy As Long,ex As Long,ey As Long,ColorCode As Long,IsBasicColor As Long)
'引数"IsBasicColor"が非0の時、ColorCodeはGetBasicColorを参照する。それ以外のときはRGB値として処理する。
'元のDrawLine関数のパラメータが不明だったので、必要なパラメータを再配置した。
Dim hPen As HPEN,hOldPen As VoidPtr
If IsBasicColor then ColorCode=GetBasicColor(ColorCode)
hPen=CreatePen(PS_SOLID,1,ColorCode)
hOldPen=SelectObject(hDC,hPen)
MoveToEx(hDC,sx,sy,ByVal NULL)
LineTo(hDC,ex,ey)
SetPixel(hDC,ex,ey,ColorCode)
SelectObject(hDC,hOldPen)
DeleteObject(hPen)
End Sub[/code]