-
在上一节中已经建立好了类,那么这一节我们来调用它,先建立一个面板
-
然后修改框体名称
-
然后从左侧新建一些按钮并且以拼音为结尾进行命名
Private Sub CheckBox2_zheYe_Click() '鼠标按下几折页单选时触发
If Me.CheckBox2_zheYe Then
Me.TextBox3_zheYeShu.Enabled = True '让右侧方框有效
Me.TextBox3_zheYeShu.BackColor = &HFFFFFF '让右侧方框变白
Else
Me.TextBox3_zheYeShu.Enabled = False '让右侧方框无效
Me.TextBox3_zheYeShu.BackColor = &HCCCCCC '让右侧方框变灰
End If
End Sub
Private Sub UserForm_Initialize() '面板初始化函数
Me.OptionButton5_none.Value = True
Me.TextBox3_zheYeShu.Enabled = False '让右侧方框无效
Me.TextBox3_zheYeShu.BackColor = &HCCCCCC '让右侧方框变灰
End Sub
Private Sub CommandButton1_shengCheng_Click() '按下生成按钮触发
Dim a As uniformSize '设变量a为类的类型
Set a = New uniformSize '创建uniformSize的对象
If Me.TextBox1_kuan.Value <> "" Then
a.kuan = Me.TextBox1_kuan.Value '给a中的kuan赋值
Else
MsgBox "未输入宽度"
GoTo cuowu
End If
If Me.TextBox2_gao.Value <> "" Then
a.gao = Me.TextBox2_gao.Value '给a中的gao赋值
Else
MsgBox "未输入高度"
GoTo cuowu
End If
'给出血赋值
If Me.OptionButton5_none.Value Then
a.chuXue = 0
ElseIf Me.OptionButton1.Value Then
a.chuXue = 1
ElseIf Me.OptionButton3.Value Then
a.chuXue = 2
ElseIf Me.OptionButton4.Value Then
a.chuXue = 3
End If
a.zheOrNot = Me.CheckBox2_zheYe '检测是否要折页
If a.zheOrNot Then
a.zheYe = Me.TextBox3_zheYeShu.Value '给折页数赋值
End If
a.ShuZhe = Me.CheckBox3_shuZhe.Value '检测是否要竖折
Unload Me '卸载并关闭这个面板,因为这个面板的作用已经达到,这里的Me用面板名称替代也可以
On Error GoTo cuowu
CorelDRAW.Optimization = True
CorelDRAW.ActiveDocument.BeginCommandGroup
CorelDRAW.ActiveDocument.Unit = cdrMillimeter
a.drawRect '执行画框函数
a.drawGuideLine '执行辅助线函数
If a.zheOrNot Then '如果勾选了折页
a.drawZheYe '执行折页线函数
End If
set a = nothing '手动回收对象a
cuowu:
CorelDRAW.ActiveDocument.EndCommandGroup
CorelDRAW.Optimization = False
CorelDRAW.Refresh
End Sub
-
好了,调用的函数也已经弄好了,这里回收的时候用了
set a = nothing
,直接回收这个对象,可以看到我们在这里的调用当中全部面向的是
a
对象,这就叫
面向对象编程
,换句话说就是面向类(公司)编程,可以把各种功能全都做成各种类(公司),当然了,VB中的类不支持向构造函数中传参,所以也不存在重构函数,它的类只能是有一个固定功能,所以看到这里关于类的另一个好处也是显而易见的,那就是a只是我们创造的对象之一,那么我们还可以同时构造出相同的
Set b = New uniformSize
,c,d…等等,所以有了类,我们就可以使用很短的时间创造出相似功能的对象,极大的提高了代码的重复利用率,同时也就是精简了代码行数
版权声明:本文为weixin_43716462原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。