vb神童教程第四章第三節动态增减菜单.docVIP

  • 3
  • 0
  • 约 4页
  • 2017-06-08 发布于重庆
  • 举报

vb神童教程第四章第三節动态增减菜单.doc

vb神童教程第四章第三節动态增减菜单

vb神童教程第四章第三节动态增减菜单 文章来源:赛迪 作者:小雷   我们在上一节示例的基础上,来制作如图一的小程序,每点击一次“增加信息”命令,菜单上会自动增加一个“信息”菜单,每点击一次“清除菜单”命令,程序自动清除当前信息菜单;当菜单回复原样,即只剩“信息”菜单时,“清除菜单”无效。 图一 一、界面设置: 在第二节最终结果的基础上,创建如图一的界面,需要注意的是,“信息”菜单(MenuHint)必须在前面的“索引”框中填入数字 0,如图二: 图二 除了前面谈到的用控件显示与绘制图形的方法外,VB 还提供了一组庞大的方法用来绘制点、线、面,以及设置前景、背景色等各种方法。 一、设置当前绘图点: 在 VB 中,可以通过设置窗体或图形框的 CurrentX 与 CurrentY 属性来设置当前绘图点。CurrentX 与 CurrentY 决定了绘制或显示的起始坐标,在设计时,这两个属性不可用。 二、绘制点、线、面的方法: 1、点的绘制法: 在指定对象(如窗体、图形框)上的指定位置处绘制点,还可以为点指定颜色,语法如下: 对象名.Pset (X,Y),[Color] X ,Y 分别为点的水平与垂直坐标,Color 为点的颜色,是可选项。 2、直线的绘制法: 在对象上绘制直线,语法如下: 对象名.Line (X1,y1) - (X2,Y2), [Color] (X1,Y1) 是直线的起点,(X2,Y2)是直线的终点,Color 为可选项。 如图一:在程序中,只要在“索引”文本中输入了数字,就代表这个菜单成为了一个“菜单数组”,通过这个“菜单数组”可以实现菜单的动态增加与清除。 二、程序代码: 1、为“信息菜单”指定变量: 对于增加或清除菜单命令,我们可以这样看:原始的“信息菜单”为 MenuHint(0) ,这也是索引值为 0 的意义所在;那么增加的一个信息菜单就应该为 MenuHint(1),再增加一个,就应该为 MenuHint(2),依此类推;清除一个信息菜单也类似,如果当前是 MenuHint(X),那么清除一个后应该为 MenuHint(X-1),依此类推。 指定索引值为 HintNumber ,那么增加时,应该是 HintNumber = HintNumber + 1 ;清除时,应该是 HintNumber = HintNumber -1 。 2、变量的作用域: 一个变量的作用域倒底有多大?这得由变量的类型来决定。当一个变量只在某一个过程或事件(如某个按钮的单击事件)中起作用,那么它就是局部变量,可以在事件中直接定义;当一个变量可以在整个窗体内供使用,那么它可能是窗体层变量或全局变量,凡是在这个窗体上的事件都可以对这个变量进行引用,这种变量只能在“通用”过程中进行“声明”。 因为 HintNumber 既要在“增加菜单”事件中引用,又要在“清除菜单”事件中引用,所以我们将它作为窗体层变量在“通用”过程的“声明”中对其进行定义,如图三: 图三 图三中的代码如下: Dim HintNumber As Integer 3、在窗体的载入事件中让 HintNumber 为初始值 0 ,再加上原来的代码,结果如图四: 图四 4、“增加信息”菜单的 Click 事件: Private Sub MenuAdd_Click() HintNumber = HintNumber + 1 Load MenuHint(HintNumber) MenuHint(HintNumber).Caption = 信息 HintNumber End Sub 上面程序的意义在于,先计算 HintNumber + 1 并将结果赋给新的 HintNumber ,然后通过 Load 命令打开一个新菜单 MenuHint(HintNumber) ,并让新菜单的标题变成“信息X”,其中,X是数字,表示这是第几个信息菜单。 5、“清除信息”菜单的 Click 事件: Private Sub MenuClear_Click() If HintNumber = 0 Then Exit Sub Else Unload MenuHint(HintNumber) HintNumber = HintNumber - 1 End If End Sub 上面的代码,先对 HintNumber 值进行判断,当 HintNumber 为 0 即程序的初始状态时,直接退出当前过程(Exit Sub 是退出当前过程的命令,切记);如果 HintNumber 不为 0 ,那么卸载索引值最高的信息菜单,即 MenuHint(HintNumber) ,然后讲算 HintNumber -1 并将结果赋给新的 HintNumber ,并最后退出条件判断。 6、“清除信息”菜单的“有

文档评论(0)

1亿VIP精品文档

相关文档