サンプルでは、レポートの印刷時に、商品番号が200より大きいデータの場合、
一部を扇型の赤で塗りつぶした円を描画しています。
レポート印刷時に円、楕円、または円弧を描画するのは、Circleメソッドを
使います。
このメソッドは、レポートのセクションのイベントプロパティに指定した
イベントプロシージャやマクロ、またはレポートの"OnPage/ページフォーマット時"
イベントプロパティに指定したイベントプロシージャやマクロでのみ使用できます。
● サンプル ●
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
Const conPI = 3.14159265359
Dim sngHCtr As Single, sngVCtr As Single
Dim sngRadius As Single
Dim sngStart As Single, sngEnd As Single
If Me!商品番号 > 200 Then
sngHCtr = Me.ScaleWidth / 2 ' 水平方向の中心。
sngVCtr = Me.ScaleHeight / 2 ' 垂直方向の中心。
sngRadius = Me.ScaleHeight / 3 ' 円の半径。
' 円を描きます。
Me.Circle (sngHCtr, sngVCtr), sngRadius
sngStart = -0.00000001 ' 扇形の始点。
sngEnd = -2 * conPI / 3 ' 扇形の終点。
Me.FillColor = RGB(255, 0, 0) ' 扇形に赤色を付けます。
Me.FillStyle = 0 ' 扇形を塗りつぶします。
' 円の内部に扇形を描きます。
Me.Circle (sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd
End If
End Sub
● 詳細 ●
Circleメソッドの構文は次のとおりです。
<構文>
object.Circle [Step](x, y), radius[,
[color][, [start][, [end][, aspect]]]]
引数 内容
object 描画の対象となるReport オブジェクト。
Step 円、楕円、または円弧の中心を、objectのCurrentXと
CurrentYプロパティからの相対位置として指定することを示す
キーワード 。
x, y 円、楕円、または円弧の中心の座標値を示す単精度浮動小数点型
(Single)の値。
引数objectで指定したReportオブジェクトのスケールプロパティ
(ScaleMode、ScaleLeft、ScaleTop、ScaleHeightおよびScaleWidth
プロパティ)によって値の単位が決まる 。
radius 円、楕円、または円弧の半径を表す単精度浮動小数点型の値。
引数objectで指定したReportオブジェクトのスケールプロパティ
(ScaleMode、ScaleLeft、ScaleTop、ScaleHeightおよびScaleWidth
プロパティ)によって値の単位が決まる。既定の単位は、twip。
color 円の外周のRGB(赤緑青)カラーを示す長整数型(Long)の値。
この引数を省略した場合は、"ForeColor/前景色"プロパティの値が
使われる。RGBやQBColor関数を使用することができる。
start, end 単精度浮動小数点型の値。円や楕円の一部を描画する際に、
引数startと引数end(ラジアン単位)で円弧の始点と終点を指定する。
startの既定値は0で、endの既定値は2π。いずれの値も-2πから2π
の間で指定する。
aspect 円の縦横比を表す単精度浮動小数点型の値。
既定値は1.0。この場合は、任意の画面で完全な(楕円でない)円が
描画される。
|