创建实时菜单的步骤:
(1)在菜单编辑器中建立样本菜单项
样本菜单项的属性设置见表2.8.4所示 。设置Index为0,表明样本菜单项是控件数组的一个元素,其下标为0 。样本菜单项的Name属性是必须的,它将作为控件数组的名称 。在下面假定数组名为NameArray 。Visible可以设为True,设为False表示初始时该菜单项不可见 。
表2.8.4实时菜单样本菜单项
属性NameCaptionIndexVisible
设置值必需的可以没有0False
(2)在程序中用Load语句创建菜单项
例如,Load NameArray(1)创建一个新的菜单项(在控件数组中的下标为1,然后将其 Visible属性设置True,同时设置Caption属性 。
动态创建的菜单项继承了除了Index之外的绝大部分属性,所以要对Caption和Visible属性进行设置 。另外,样本菜单项在菜单系统中的位置决定了新菜单项出现的位置 。
(3)为实时菜单项编写代码
每个实时菜单项都是控件数组的一个成员,具有相同的名称,并且共享事件过程 。
下面是一个实时菜单项代码示例:
SubNameArray_Click(Index As Integer)
Select Case Index
Case0
MsgBox("NameArmy(0)(样本菜单项) is clicked!")
Case1
MsgBox("NameArray(1)(第一个实购菜单项) is clicked!")
Case2
MsgBox("NameArray(2)(第二个实时菜单项) is clicked!")
End Select
End Sub
(4)删除实时菜单项
尽管把Visible设为False,程序运行时实时菜单项不会显示,然而有时还是需要把实时菜单项从内存中销毁 。删除实时菜单使用UnLoad语句 。例如,LoadNameArray(1) 。
有关建立实时菜单的详细内容请参阅教程第4.3节 。
5.通用对话框的CancelError属性和Err对象
当通用对话框的CancelError属性为True时,无论何时选择"取消"按钮,均产生 32755(cdlCancel)号错误,即将Err的Number属性设置为32755 。
Err是VB的一个系统对象,它记录了程序运行期间所发生的错误 。
Err对象的重要属性有Number(默认属性)和Description 。当错误发生后,错误的生成者把错误号和有关错误的说明分别存放在Number和Description属性中 。例如,当在 CancelError属性为True的通用对话框中选择"取消"按钮时,产生一个错误,Err对象的Number和Description属性将被设置为32755和"选择'取消'" 。
在程序运行期间,经常会发生各种各样的错误 。有关错误处理的详细内容请参阅教程第 9.6节 。
下面是当程序产生cdlCancel错误时结束程序的运行 。
SubForm_ClickO
CommonDialogl.CancelError=True
On Error GoTo ErrorHandler
CommonDialogl.Action=l
' 处理文件的语句
ErrorHandler:
If Err.Number=cdlCancel Then
End
Endlf
End Sub
6.与窗体有关的事件
在首次用Load语句将窗体(假定该窗体在内存中还没有创建)调入内存之时依次发生 Initialize和Load事件 。再用UnLoad将窗体从内存中卸载时依次发生QueryUnLoad和Unload事件,再使用Set窗体名=Nothing语句解除初始化时发生Terminate事件 。
Initialize是在窗体创建时发生的事件 。在窗体的整个生命周期中,Initialize事件只触发一次 。用户可以将一个窗体装入内存或从内存中删除很多次,但窗体的建立只有一次 。也就是说,在用Load语句将窗体装入内存时会触发Load事件,但并不一定触发Initialize事件 。
在用UnLoad语句卸载窗体后,如果没有使用Set窗体名=Nothing解除初始化,则在下次使用Load语句时不会触发Initialize事件,否则会引起Initialize事件 。
假定有Forml和Form2两个窗体,并且有下列事件过程:
' Forml窗体事件过程
Sub Form_Click()
Debug.Print"窗体首次装入内存时发生的事件:"
推荐阅读
- 人生得意须尽欢莫使金樽空对月什么意思?人生得意须尽欢莫使金樽空对月下联
- 新疆高考招生网,新疆高考招生网上报名2023
- 少女妈妈贵州 海南少女妈妈村在哪里
- 杨梅放冰箱可以放多久
- 异地办理房产委托公证需要什么材料 购房委托公证需要什么材料
- 薄冰英语语法手册 薄冰英语语法怎么样
- 生命的本质是什么?生命的本质是
- 造价员取消了章还能用吗 造价员取消了吗
- 金陵科技学院怎么样?