Circle 方法用于當 Print 事件發(fā)生時,在 Report 對象上畫圓、橢圓或圓弧。
expression.Circle(flags, X, Y, radius, color, start, end, aspect)
expression 必需。返回“應用于”列表中的一個對象的表達式。
flags 必需 Integer 型。
X 必需。Single 型值,表示圓、橢圓或圓弧的中心點的 X 坐標。object 參數指定的 Report 對象 Scale 屬性(ScaleMode、ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)決定使用的度量單位。
Y 必需。所用的度量單位由Single 型值,表示圓、橢圓或圓弧的中心點的 Y 坐標。object 參數指定的 Report 對象 Scale 屬性(ScaleMode, ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)來確定。
radius 必需。Single 型值,表示圓、橢圓或圓弧的半徑。所用的度量單位由 object 參數所指定的 Report 對象的 Scale 屬性(ScaleMode、ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)來確定。默認情況下,以緹為單位度量距離。
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,表示在任何屏幕上都是一個正圓(而不是橢圓)。
只能在由報表節(jié)的事件屬性或報表的 OnPage 事件屬性所指定的事件過程或宏中使用該屬性。
繪制圓或橢圓的部分時,如果 start 參數是負值,Circle 方法將繪制一條到 start 參數指定的位置的弧,并將角度當作正值。如果 end 參數是負值,Circle 方法繪制一條到 end 參數指定的位置的弧,并將角度當作正值。Circle 方法總以逆時針方向(正向)進行繪制。
若要填充一個圓,請設置報表的 FillColor 和 FillStyle 屬性。只有封閉的圖形才能進行填充。封閉的圖形包括圓、橢圓和扇形,扇形的兩端都由半徑線相連。
繪制扇形時,如要通過繪制到 0 度的弧獲得一條水平線段,可為 start 參數指定一個非常小的負值,但不要指定為 0。例如,可以將 start 參數指定為 -.00000001。
在語法當中可以忽略某個參數,但如果該參數后面還有下一個參數,就必須在語法中包括該參數的逗號。如果忽略的是末尾的參數,就不需要在指定的最后一個參數后加上逗號。
畫圓、橢圓或圓弧時所用線條的寬度取決于 DrawWidth 屬性設置。在背景上畫圓的方式則取決于 DrawMode 和 DrawStyle 屬性的設置。
在應用 Circle 方法時,CurrentX 和 CurrentY 屬性設為由 x 和 y 參數指定的中心點。
下面的示例使用 Circle 方法來畫一個圓,然后在這個圓中創(chuàng)建一個扇形,并將它的顏色變?yōu)榧t色。
若要在 Microsoft Access 中試用該示例,請先創(chuàng)建一個新的報表。將“主體”節(jié)的 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