VB中如何用line画线的方法给圆里面填充颜色

希望说的具体点,谢谢

VB中直接有“填充方式”,   FillStyle 属性就决定了用什么样的填充方式填充圆内空间。

其中:

VbFSSolid     0     实心    

VbFSTransparent     1     (缺省值)透明。    

VbHorizontalLine     2     水平直线。    

VbVerticalLine     3     垂直直线。    

VbUpwardDiagonal     4     上斜对角线。    

VbDownwardDiagonal     5     下斜对角线    

VbCross     6     十字线    

VbDiagonalCross     7     交叉对角线    

示例代码如下:

Private Sub Command1_Click()
   Dim CX, CY, Radius, Limit   ' Declare variable.
   FillColor = vbRed    '填充颜色
   FillStyle = 0        '实心
   FillStyle = 1        '无填充
   FillStyle = 2        '水平直线

   FillStyle = 3        '垂直直线

   FillStyle = 4        '上斜对角线

   FillStyle = 5        '下斜对角线

   FillStyle = 6        '十字线

   FillStyle = 7        '交叉对角线

   ScaleMode = 3   ' 以像素为单位。
   CX = ScaleWidth / 2   ' X 位置。
   CY = ScaleHeight / 2   ' Y 位置。
   If CX > CY Then Limit = CY Else Limit = CX
   Radius = Limit    ' 半径。
   Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-23
没时间细说。呵呵。给你个思路:以圆心(x,y)为起点,以r(x+cosi,y+sini)为终点画线。这要用for 循环来做。步长i越小,效果越好。追问

前辈能在多提点一些吗?新手真心求帮助

追答

呵呵。给你一个代码吧。希望你能好好研究,举一反三。
Private Sub Command1_Click()
Dim i As Single, x As Integer, y As Integer, r As Integer
x = Form1.Width / 2
y = Form1.Height / 2
r = Form1.Width / 3
Circle (x, y), r, vbRed
For i = 0 To 6.3 Step 0.00001
Line (x, y)-(x + r * Cos(i), y + r * Sin(i)), vbRed
Next i
End Sub
运行后,你将看到一个动态的结果。

追问

分给你了吧,问题是如果这个图形并不是一个规则图形,这个办法就不行了

追答

呵呵。你真聪明。做到了举一反三了。一切事物的存在都是有条件的。这个回答的正确与否,其判断准则应该是你的问题所设的条件。不是吗?

本回答被提问者采纳
第2个回答  2013-10-23
line这是用来画直线的?
画圆用Circle
请参考
Private Sub Command1_Click()
FillColor = vbRed '填充颜色
FillStyle = 0 '实心
Circle (200, 200), 150, vbRed '画圆
End Sub

'Circle (x, y), r, c
'其中(x, y)是原点坐标,r是半径,c是颜色