Circle 方法用于當(dāng) Print 事件發(fā)生時(shí),在 Report 對(duì)象上畫圓、橢圓或圓弧。
expression.Circle(flags, X, Y, radius, color, start, end, aspect)
expression 必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。
flags 必需 Integer 型。
X 必需。Single 型值,表示圓、橢圓或圓弧的中心點(diǎn)的 X 坐標(biāo)。object 參數(shù)指定的 Report 對(duì)象 Scale 屬性(ScaleMode、ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)決定使用的度量單位。
Y 必需。所用的度量單位由Single 型值,表示圓、橢圓或圓弧的中心點(diǎn)的 Y 坐標(biāo)。object 參數(shù)指定的 Report 對(duì)象 Scale 屬性(ScaleMode, ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)來確定。
radius 必需。Single 型值,表示圓、橢圓或圓弧的半徑。所用的度量單位由 object 參數(shù)所指定的 Report 對(duì)象的 Scale 屬性(ScaleMode、ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth)來確定。默認(rèn)情況下,以緹為單位度量距離。
color 必需 Long 型。Long 型值,表示圓輪廓的 RGB(紅綠藍(lán))顏色。如果省略該參數(shù),將使用 ForeColor 屬性的值。也可以使用 RGB 函數(shù)或 QBColor 函數(shù)來指定顏色。
start 必需 Single 型。繪制圓或橢圓的一部分時(shí),start 參數(shù)指定弧的起點(diǎn)位置(以弧度為單位)。start 參數(shù)的默認(rèn)值是 0 弧度。取值范圍從 –2π 到 2π。
end 必需 Single 型。繪制圓或橢圓的一部分時(shí),end 參數(shù)指定弧的終點(diǎn)位置(以弧度為單位)。end 參數(shù)的默認(rèn)值是 2π。取值范圍從 –2π 到 2π。
aspect 必需。Single 型值,表示圓的縱橫比。默認(rèn)值是 1.0,表示在任何屏幕上都是一個(gè)正圓(而不是橢圓)。
只能在由報(bào)表節(jié)的事件屬性或報(bào)表的 OnPage 事件屬性所指定的事件過程或宏中使用該屬性。
繪制圓或橢圓的部分時(shí),如果 start 參數(shù)是負(fù)值,Circle 方法將繪制一條到 start 參數(shù)指定的位置的弧,并將角度當(dāng)作正值。如果 end 參數(shù)是負(fù)值,Circle 方法繪制一條到 end 參數(shù)指定的位置的弧,并將角度當(dāng)作正值。Circle 方法總以逆時(shí)針方向(正向)進(jìn)行繪制。
若要填充一個(gè)圓,請(qǐng)?jiān)O(shè)置報(bào)表的 FillColor 和 FillStyle 屬性。只有封閉的圖形才能進(jìn)行填充。封閉的圖形包括圓、橢圓和扇形,扇形的兩端都由半徑線相連。
繪制扇形時(shí),如要通過繪制到 0 度的弧獲得一條水平線段,可為 start 參數(shù)指定一個(gè)非常小的負(fù)值,但不要指定為 0。例如,可以將 start 參數(shù)指定為 -.00000001。
在語法當(dāng)中可以忽略某個(gè)參數(shù),但如果該參數(shù)后面還有下一個(gè)參數(shù),就必須在語法中包括該參數(shù)的逗號(hào)。如果忽略的是末尾的參數(shù),就不需要在指定的最后一個(gè)參數(shù)后加上逗號(hào)。
畫圓、橢圓或圓弧時(shí)所用線條的寬度取決于 DrawWidth 屬性設(shè)置。在背景上畫圓的方式則取決于 DrawMode 和 DrawStyle 屬性的設(shè)置。
在應(yīng)用 Circle 方法時(shí),CurrentX 和 CurrentY 屬性設(shè)為由 x 和 y 參數(shù)指定的中心點(diǎn)。
下面的示例使用 Circle 方法來畫一個(gè)圓,然后在這個(gè)圓中創(chuàng)建一個(gè)扇形,并將它的顏色變?yōu)榧t色。
若要在 Microsoft Access 中試用該示例,請(qǐng)先創(chuàng)建一個(gè)新的報(bào)表。將“主體”節(jié)的 OnPrint 屬性設(shè)為 [事件過程]。在報(bào)表的模塊中輸入下列代碼,然后切換到“打印預(yù)覽”。
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