VB:教材里“数组控件”中的例题请教

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:26:23
在计算机等级考试二级教程VB第208页“数组控件”一节里有这样的例题:
在窗体上建立一个命令按钮、两个单选按钮和一个图片框。每单击一次命令按钮,增加一个新的单选按钮。如果单击某个单行按钮,则在图片框中画出具有不同填充图案的圆。

事件过程:
Private Sub Command1_Click()
Static Maxidx
If Maxidx = 0 Then Maxidx = 1
Maxidx = Maxidx + 1
If Maxidx > 7 Then Exit Sub
Load Optbutton(Maxidx)
Optbutton(Maxidx).Top = Optbutton(Maxidx - 1).Top + 360
Optbutton(Maxidx).Visible = True

End Sub

Private Sub optbutton_click(index As Integer)
Dim H, W
Picture1.Cls
Picture1.FillStyle = index
W = Picture1.ScaleWidth / 2
H = Picture1.ScaleHeight / 2
Picture1.Circle (W, H), W / 2

End Sub

请问:
第(1):
If Maxidx = 0 Then Maxidx = 1
Maxidx = Maxidx + 1
怎么理解这两行代码呢?Maxidx变量还只是定义好类型,并没赋值,怎么就有IF Maxidx = 0 和Maxidx = Maxidx + 1 了呢?
第(2):
Picture1.FillStyle = index
这句代码是用来设置填充类型,但为什么还没画圆就填充图案?按常规不是先画好圆再填充的吗?

第(1):
If Maxidx = 0 Then Maxidx = 1
Maxidx = Maxidx + 1

因为 Static Maxidx
通常 变量 初始值 为 0
那两句的意思是 如果Maxidx 为0 则赋值 1
Maxidx = Maxidx + 1 就是累加的意思 每点击一次按钮 变量加1

------------------------------------------------------------------
第(2):
Picture1.FillStyle = index

FillStyle 属性
返回或设置用来填充 Shape 控件、以及由 Circle 和 Line 图形方法生成的圆和方框的模式。
object.FillStyle [= number]

设置值

number 的设置值为:

常数 设置值 描述
VbFSSolid 0 实线
VbFSTransparent 1 (缺省值)透明。
VbHorizontalLine 2 水平直线。
VbVerticalLine 3 垂直直线。
VbUpwardDiagonal 4 上斜对角线。
VbDownwardDiagonal 5 下斜对角线
VbCross 6 十字线
VbDiagonalCross 7 交叉对角线

说明

如果 FillStyle 设置为 1(透明),则忽略 FillColor 属性,但是 Form 对象除外。