vb中拿鼠标画圆的代码

就是启动后拖动鼠标就能画出无数圆的代码,谁知道啊,这个事vb书上的课后练习提。说要画直径60的圆,画圆代码给我了:form1.circle(x,y),60怎么弄啊... 就是启动后拖动鼠标就能画出无数圆的代码,谁知道啊,这个事vb书上的课后练习提。说要画直径60的圆,画圆代码给我了:form1.circle(x,y),60怎么弄啊 展开
 我来答
百度网友3dd298a0e
2010-05-02 · TA获得超过261个赞
知道答主
回答量:180
采纳率:0%
帮助的人:195万
展开全部
画圆

Circle 方法可画出圆形和椭圆形的各种形状。另外,Circle 方法还可以画出圆弧(圆的一部分)和楔形饼块。使用变化的 Circle 方法,可画出多种曲线。

为了画圆,Visual Basic 需要给出该圆的圆心位置和它的半径。画一个理想圆的语法是:

[object.]Circle [Step](x, y), radius[, color]

方括号表明 object 和 Step 关键字是任选项。如果不指定 object,则认为指定的就是当前的窗体。x 参数和 y 参数是圆心的坐标,radius 参数是圆的半径。例如,下面语句将画出一个以 (1200,1000) 为圆心、750 为半径的圆:

Circle (1200, 1000), 750

这个语句产生的精确作用,还要依赖于窗体的大小和窗体的坐标系。如果不知道窗体的大小,也就不能知道这个圆是否可见。可使用绘图区的标尺属性,将该圆的圆心置于窗体的中心处:

Circle ((ScaleWidth + ScaleLeft) / 2, (ScaleHeight + _
ScaleTop) / 2), ScaleWidth / 4

此时,关于 ScaleWidth 和 ScaleHeight 所有应知道的是,它们能帮助将图形定位于窗体的中心。

详细信息 在本章前面“改变对象的坐标系统”中详细讨论了 ScaleWidth 和 ScaleHeight 属性。

注意 圆的半径通常是按照水平单位来指定的。如果坐标系使用的水平单位和垂直单位是相同的话(按照缺省规定,应当这样),可以不用考虑单位问题。但如果使用的是自定义标尺,则水平单位和垂直单位可能对应不同的长度。上例中,半径是用水平单位来指定的,可以保证圆的实际高度和实际宽度相等。

Blanker 应用程序创建了一些圆圈,作为多彩地毯演示程序的一部分。该演示程序围绕窗体中心画出一系列虚线圆。这些圆看起来正好象一个编织成的圆形地毯。CircleDemo 过程使用下列语句,在多彩地毯演示程序中画圆:

Sub CircleDemo ()
Dim Radius
'将红色设置为随机数。
R = 255 * Rnd
'将绿色设置为随机数。
G = 255 * Rnd
'将蓝色设置为随机数。
B = 255 * Rnd
'将 x 坐标设置在窗体中间。
XPos = ScaleWidth / 2
'将 y 坐标设置在窗体中间。
YPos = ScaleHeight / 2
'将半径设置在窗体高度的 0 到 50% 之间。
Radius = ((YPos * 0.9) + 1) * Rnd
'用随机颜色画圆。
Circle (XPos, YPos), Radius, RGB(R, G, B)
End Sub

多彩地毯演示程序的结果,显示在图 12.16 中。

图 12.16 Blanker 应用程序里的多彩地毯演示程序

画圆弧
为了用 Circle 方法画出圆弧,应以弧度为单位,给出定义弧线 start 和 end 的角度参数。画圆弧的语法是:

[object.]Circle [Step](x, y), radius, [color], start, end[, aspect]

如果 start 参数或 end 参数是负数的话,Visual Basic 将画一条连接圆心到负端点的线。例如,下面的过程将用消除切片方式画出一个饼。

Private Sub Form_Click ()
Const PI = 3.14159265
Circle (3500, 1500), 1000, , –PI / 2, –PI / 3
End Sub

注意 将度换算成弧度的公式是将度数乘以 Pi/180。

参考资料: vb帮助文件

zgwxm
2010-05-02 · 经典歌曲、名人名家歌曲视频
zgwxm
采纳数:1792 获赞数:21142

向TA提问 私信TA
展开全部
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Form1.Circle (X, Y), 60, RGB(0, 0, 255)
ElseIf Button = 2 Then Form1.Circle (X, Y), 60, RGB(0, 255, 0)
ElseIf Button = 3 Then Form1.Circle (X, Y), 60, RGB(255, 0, 0)
Else: Form1.Circle (X, Y), 60, RGB(0, 0, 0)
End If
End Sub
更多VB代码请参阅我的博客:http://hi.baidu.com/zgmg/blog/item/dc8af0cabdc4854af21fe7f2.html
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式