全部显示

Circle 方法

       

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

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

expression   必需。返回“Applies To”列表中的一个对象的表达式。

flags  必需 Integer 型。

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

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

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

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

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

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

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

说明

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

当画圆或椭圆的某部分时,如果 start 参数是负值,Circle 方法将画一条到由 start 参数所指定位置的半径,并将角度作为正值来看待。如果 end 参数是负值,Circle 方法将画一条到由 end 参数所指定位置的半径,并将角度作为正值来看待。Circle 方法总以逆时针方向(正向)来画图。

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

当画扇形时,如果需要画一条 0 度的半径来形成一个直角的水平线部分,可以为 start 参数指定一个非常小的负值(不要指定为 0)。例如,可以将 start 参数指定为 -.00000001。

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

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

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

示例

下面的示例使用 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