Circle 方法

expandtri全部显示

Circle 方法用于当 Print 事件发生时,在 Report 对象上画圆、椭圆或圆弧。

expression.Circle(flags, X, Y, radius, color, start, end, aspect)

expression     必需。返回“应用于”列表中的一个对象的表达式。

flags     必需 Integer 型。

X    必需。Single 型值,表示圆、椭圆或圆弧的中心点的 X 坐标。object   参数指定的 Report 对象 Scale 属性(ScaleModeScaleLeftScaleTopScaleHeightScaleWidth)决定使用的度量单位。

Y    必需。所用的度量单位由Single 型值,表示圆、椭圆或圆弧的中心点的 Y 坐标。object   参数指定的 Report 对象 Scale 属性(ScaleMode, ScaleLeftScaleTopScaleHeightScaleWidth)来确定。

radius     必需。Single 型值,表示圆、椭圆或圆弧的半径。所用的度量单位由 object   参数所指定的 Report 对象的 Scale 属性(ScaleModeScaleLeftScaleTopScaleHeightScaleWidth)来确定。默认情况下,以为单位度量距离。

color     必需 Long 型。Long 型值,表示圆轮廓的 RGB(红绿蓝)颜色。如果省略该参数,将使用 ForeColor 属性的值。也可以使用 RGB 函数或 QBColor 函数来指定颜色。

start    必需 Single 型。绘制圆或椭圆的一部分时,start   参数指定弧的起点位置(以弧度为单位)。start 参数的默认值是 0 弧度。取值范围从 –2π 到 2π。

end    必需 Single 型。绘制圆或椭圆的一部分时,end   参数指定弧的终点位置(以弧度为单位)。end 参数的默认值是 2π。取值范围从 –2π 到 2π。

aspect     必需。Single 型值,表示圆的纵横比。默认值是 1.0,表示在任何屏幕上都是一个正圆(而不是椭圆)。

说明

只能在由报表节的事件属性或报表的 OnPage 事件属性所指定的事件过程中使用该属性。

绘制圆或椭圆的部分时,如果 start 参数是负值,Circle 方法将绘制一条到 start 参数指定的位置的弧,并将角度当作正值。如果 end 参数是负值,Circle 方法绘制一条到 end 参数指定的位置的弧,并将角度当作正值。Circle 方法总以逆时针方向(正向)进行绘制。

若要填充一个圆,请设置报表的 FillColorFillStyle 属性。只有封闭的图形才能进行填充。封闭的图形包括圆、椭圆和扇形,扇形的两端都由半径线相连。

绘制扇形时,如要通过绘制到 0 度的弧获得一条水平线段,可为 start 参数指定一个非常小的负值,但不要指定为 0。例如,可以将 start 参数指定为 -.00000001。

在语法当中可以忽略某个参数,但如果该参数后面还有下一个参数,就必须在语法中包括该参数的逗号。如果忽略的是末尾的参数,就不需要在指定的最后一个参数后加上逗号。

画圆、椭圆或圆弧时所用线条的宽度取决于 DrawWidth 属性设置。在背景上画圆的方式则取决于 DrawModeDrawStyle 属性的设置。

在应用 Circle 方法时,CurrentXCurrentY 属性设为由 x 和 y 参数指定的中心点。

示例

下面的示例使用 Circle 方法来画一个圆,然后在这个圆中创建一个扇形,并将它的颜色变为红色。

若要在 Microsoft Access 中试用该示例,请先创建一个新的报表。将“主体”节的 OnPrint 属性设为 [事件过程]。在报表的模块中输入下列代码,然后切换到“打印预览”。

Private Sub Detail_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

    sngHCtr = Me.ScaleWidth / 2     ' Horizontal center.

    sngVCtr = Me.ScaleHeight / 2     ' Vertical center.

    sngRadius = Me.ScaleHeight / 3     ' Circle radius.

    ' Draw circle.

    Me.Circle(sngHCtr, sngVCtr), sngRadius

    sngStart = -0.00000001             ' Start of pie slice.

    sngEnd = -2 * conPI / 3             ' End of pie slice.

    Me.FillColor = RGB(255,0,0)     ' Color pie slice red.

    Me.FillStyle = 0                     ' Fill pie slice.

    ' Draw pie slice within circle.

    Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd

End Sub