




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic界面设计本章学习要点掌握VisualBasic菜单的设计方法掌握VisualBasic工具栏的设计方法掌握VisualBasic状态栏的设计方法在Windows环境下运行的各种应用程序,虽然各有不同,但这些界面大都有着共同的特点。它们一般都包括菜单、工具栏和状态栏等。设计VisualBasic应用程序时,也需要进行界面设计。前面介绍了窗体的设计方法,本章将继续介绍开发Windows应用程序中的一些典型界面的方法。VisualBasic界面设计15.1菜单设计在Windows环境下,大多数应用软件都是通过菜单来实现各种操作。窗体菜单是Windows应用程序界面中最具特色的部分。而对于VisualBasic应用程序来说,当操作比较简单时,一般通过控件来执行;而当要完成较复杂的操作时,使用菜单具有十分明显的优势。菜单的基本作用有两个,一是提供人机对话的界面,方便用户选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。一个好的菜单程序,不仅能使系统美观,而且能使用户使用方便,并可避免由于误操作而带来的严重后果。在实际应用中,菜单可分为两种基本类型:下拉式菜单和弹出式菜单。例如,启动VisualBasic后,单击“文件”菜单所显示的就是下拉式菜单,而用鼠标右按钮单击窗体时所显示的菜单就是弹出式菜单。5.1菜单设计在Windows25.1菜单设计5.1.1下拉式菜单下拉式菜单是一种典型的窗口式菜单。下拉式菜单自上而下在屏幕上“下拉”一个个窗口菜单供用户选择或输入信息。在下拉式菜单系统中,一般有一个主菜单,其中包括若干个选择项。主菜单的每一项又可“下拉”出下一级菜单,这样逐级下拉,用一个个窗口的形式弹出在屏幕上,操作完毕即可从屏幕上消失,并恢复原来的屏幕状态。5.1菜单设计5.1.135.1菜单设计1.下拉式菜单的结构在VisualBasic中,下拉式菜单在一个窗体上设计,一个下拉式菜单包括两类:一是菜单栏,位于窗体的顶部,由若干个菜单标题组成;二是子菜单区,这一区域为临时性的弹出区域,只有在用户选择了相应的主菜单项后才会弹出子菜单,以供用户进一步选择菜单的子项,子菜单中的每一项是一个菜单命令或分隔条,称为菜单项。下拉式菜单的结构如图5-1所示。图5-1下拉式菜单结构菜单标题
菜单栏
子菜单分隔条5.1菜单设计1.下拉式菜单的45.1菜单设计2.菜单编辑器VisualBasic通过菜单编辑器创建菜单。可以使用以下四种方法进入菜单编辑器对话框:(1)单击“工具”菜单项中的“菜单编辑器”选项。(2)单击工具栏中的“菜单编辑器”按钮。(3)使用热键“Ctrl+E”。(4)在要建立菜单的窗体上单击鼠标右键,在弹出菜单中选择“菜单编辑器”,如图5-2所示。图5-2在弹出菜单中打开“菜单编辑器”5.1菜单设计2.菜单编辑器55.1菜单设计打开后的菜单编辑器窗口如图5-3所示。图5-3菜单编辑器窗口5.1菜单设计打开后的菜单编辑65.1菜单设计下面介绍“菜单编辑器”对话框的内容。(1)标题标题是用来输入所建立的菜单名及菜单中每个菜单项标题的文本框。如果输入1个减号(-),就在菜单中加入了1条分隔线。如果在标题中的某一个字母前加上&,程序运行后在菜单项中该字母将加上下划线,通过“Alt+特定字母”可以访问该菜单项。(2)名称名称是用来输入菜单名及各菜单项控制名的文本框,它不在菜单中出现。(3)索引索引设置菜单项在菜单数组中的位置。(4)快捷键快捷键用来设置菜单项的快捷键。单击右端的箭头,显示热键的下拉式菜单,从中选择菜单项等价的热键。(5)帮助上下文ID在帮助上下文中键人数值,这个值用来在HelpFile属性中查找相应的帮助主题。(6)协调位置协调位置用来确定菜单或菜单项是否出现或在什么位置出现。单击右端的箭头,将下拉显示一个列表,其选项如下:0-None菜单项不显示1-Left菜单项靠左显示2-Middle菜单项居中显示3-Right菜单项靠右显示(7)复选当“复选”项被设置为True时,可以在相应的菜单项旁加上指定的记号(例如“√”)。利用这个属性,可以指明某个菜单项当前是否处于活动状态。(8)有效“有效”选项用来设置菜单项的操作状态。其缺省设置为True,表明相应的菜单项可以对用户事件作出响应;该属性被设置为False时,相应的菜单项会“变灰”,不响应用户事件。5.1菜单设计下面介绍“菜单编75.1菜单设计(9)可见“可见”选项确定菜单项是否可见,一个不可见的菜单项是不能执行的。其缺省设置为True,即菜单项可见;当设置为False时,该菜单项在菜单上不显示。(10)显示窗口列表“显示窗口列表”用于多文档窗体。用于确定菜单控件是否包含一个当前打开的MDI子窗体列表。(11)右箭头单击一次右箭头显示一个内缩符号(....),把在菜单列表区中选定的菜单向下移一个等级。(12)左箭头单击一次左箭头删除一个内缩符号(....),把在菜单列表区中选定的菜单向上移一个等级。(13)上箭头单击上箭头使在菜单列表区中选定的菜单项在同级菜单内向上移动一个位置。(14)下箭头单击下箭头使在菜单列表区中选定的菜单项在同级菜单内向下移动一个位置。(15)下一个开始一个新的菜单项。(16)插入用来在当前菜单项前插入一个新的菜单项。(17)删除删除当前选中的菜单项。(18)菜单项显示区在“菜单编辑器”对话框的下部,输入的菜单项在这里分级显示出来。在“菜单编辑器”中完成了各菜单项的设置之后,单击“确定”按钮关闭“菜单编辑器”,此时在窗体的顶部就可以看到设计的菜单结构。要使菜单完成用户的操作还需完成菜单项的单击事件,才能在运行时通过单击菜单项执行相应的功能。5.1菜单设计(9)可见85.1菜单设计5.1.2“企业资质管理系统”下拉式菜单的设计下面介绍在“企业资质管理系统”中设计下拉式菜单的方法。1.用菜单编辑器建立菜单主菜单项如图5-1所示,各子菜单如图5-4所示。
图5-4各子菜单项5.1菜单设计5.1.2“95.1菜单设计在菜单编辑器中设计主菜单和各子菜单项,它们的设置如表5-1所示。表5-1菜单项的设置菜单项标题名称内缩符号快捷键访问键主菜单项1文件(&F)file无Alt+F子菜单项1导入(I)import1Ctrl+I子菜单项2导出(E)export1Ctrl+E子菜单项3网络传送nettr15.1菜单设计在菜单编辑器中设计105.1菜单设计子菜单项4-m111子菜单项5选择恢复数据库(&R)rest1Alt+E子菜单项6数据库另存为(&S)saveas1Alt+R子菜单项7-m01子菜单项8打印print1Ctrl+P子菜单项9打印设置psetup1子菜单项10打印预览(V)pre1Ctrl+V子菜单项-m11子菜单项退出(X)1Ctrl+X菜单项2编辑(&E)edit无Alt+S子菜单项1新建(N)new1Ctrl+N5.1菜单设计子菜单项4-m11115.1菜单设计子菜单项2删除(D)delete1Shift+Del子菜单项3批量清空deleteall1子菜单项4-m21子菜单项5查询(F)find1Ctrl+F子菜单项6定位(G)go1Ctrl+G子菜单项7第一条f2子菜单项8上一条p2子菜单项9下一条n2子菜单项10最后一条l2子菜单项11-m41子菜单项12属性(A)undo1Ctrl+A5.1菜单设计子菜单项2删除(D125.1菜单设计菜单项3系统(&S)system无Alt+S子菜单项1备份数据库(B)backup1Ctrl+B子菜单项2恢复数据库(R)restore1Ctrl+R子菜单项3-m31子菜单项4注销(U)do1Ctrl+U子菜单项5更改密码(M)pass1Ctrl+M子菜单项6用户管理(G)gl1Ctrl+G菜单项4分组报表打印(&T)hz无Alt+T子菜单项1安全资格证书(副本)fb1子菜单项2安全资格证书aqre1子菜单项3按单位性质分组统计dw15.1菜单设计菜单项3系统(&S135.1菜单设计子菜单项4按等级分组统计dj1子菜单项5-m51子菜单项6按人员技术职称分组统计ryzc1子菜单项7-m71子菜单项8按地市(州)分组统计在建项目zj1子菜单项9分组统计事故情况ds1菜单项5帮助(&H)help无Alt+H子菜单项1目录(&I)sy1Alt+I子菜单项2-m61子菜单项3个人主页url1子菜单项4关于...(&A)gy1Alt+5.1菜单设计子菜单项4按等级分145.1菜单设计2.编写菜单事件用户要能操作菜单,就需给每个菜单项编写一个Click事件。用鼠标单击窗体上的各下拉菜单项就可以打开相应的菜单项的Click事件,在其中编写代码。菜单的Click事件代码很多,这里只给出“编辑”菜单项的“新建”子菜单的Click事件,如图5-5所示。用户通过单击相应的按钮就可以打开所需的窗体对象,使用便捷。
图5-5编写的菜单事件5.1菜单设计2.编写菜单事件155.1菜单设计5.1.3弹出式菜单在Windows环境下,除了下拉式菜单外,弹出式菜单应用得也非常广泛。下拉式菜单放置在程序界面得顶部,而弹出式菜单可以出现在窗体的任何部位,适用于少量的菜单项,操作灵活方便。弹出式菜单通过单击鼠标右键打开,所以也称“右键菜单”。设计弹出式菜单的步骤如下:(1)使用“菜单编辑器”在菜单编辑器中按设计下拉式菜单的方法设计弹出式菜单,根据需要将要作为弹出式菜单的顶级菜单设置为可见或不可见,各子菜单项设为可见。(2)编写MouseDown事件弹出式菜单使单击鼠标右键所引发的事件,必定要在对象的MouseDown事件过程中编写代码。PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)EndSub5.1菜单设计5.1.3165.1菜单设计参数的意义是:①Button值判断按下哪一个鼠标键:1-左键;2-右键;3-中键。②Shift值对Shift、Ctrl和Alt键的位置进行判断:0-3个键都向上;1-Shift键按下;2-Ctrl键按下;3-Shift键和Ctrl键按下;4-Alt键按下;5-Shift键和Alt键Ctrl键按下;6-Ctrl键和Alt键按下;7-3个键都按下。③X,Y指出鼠标当前位置。在MouseDown事件中用PopupMenu方法显示弹出式菜单,其格式为:[<对象名>.]PopupMenu<菜单名>[,flags[,x[,y[,boldcommand]]]]其作用是在当前对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。其中:<对象名>:指菜单所在的位置,如果省略,则默认为是当前窗体。<菜单名>:在菜单设计器中设计的菜单项的名称。flags:取一个数值或常量,用于指定弹出式菜单的位置和行为,其取值如表5-2和表5-3所示。5.1菜单设计参数的意义是:175.1菜单设计
表5-2位置常量
表5-3行为常量
值位置常量说明0vbPopupMenuLeftAlign缺省值,弹出式菜单的左上角位于坐标(x,y)处4vbPopupMenuCenterAlign弹出式菜单的上框中央位于坐标(x,y)处8vbPopupMenuRightAlign弹出式菜单的右上角位于坐标(x,y)处值行为常量说明0VbPopupMenuLeftButton缺省值,弹出式菜单项只响应鼠标左键单击2VbPopupMenuRightButton弹出式菜单项可以响应鼠标左、右键单击5.1菜单设计185.1菜单设计如果要同时指定位置常量和行为常量时,则将两个参数值用Or连接,如:00r2。x:指定显示弹出式菜单的x坐标,省略时为鼠标坐标。y:指定显示弹出式菜单的y坐标,省略时为鼠标坐标。boldcommand:指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。因此,在对象的MouseDown事件过程中编写代码通常如下PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)'单击鼠标右键IfButton=2Then'用PopupMenu方法弹出菜单PopupMenu菜单名EndIfEndSub5.1菜单设计如果要同时指定位置195.1菜单设计5.1.4“企业资质管理系统”弹出式菜单的设计在“企业资质管理系统”中应用了弹出式菜单,如图5-6所示,其设计方法如下。图5-6弹出式菜单的应用5.1菜单设计5.1.4205.1菜单设计(1)在“菜单编辑器”中设置快捷菜单项,如表5-4所示。表5-4快捷菜单项的设置
菜单项标题名称可见性主菜单项编辑editmenu不可见子菜单项1新建new1可见子菜单项2删除del1可见子菜单项3属性Attribute可见子菜单项4-mm可见子菜单项5查询query可见子菜单项6打印预览preview可见子菜单项7打印print可见5.1菜单设计(1)在“菜单编辑215.1菜单设计(2)编写MouseDown事件由于快捷菜单在单击表格控件时发生,因此在控件DataGrid1的MouseDown过程中编写代码,如图5-7所示。图5-7触发弹出式菜单的事件5.1菜单设计(2)编写Mous225.2工具栏的设计工具栏(Toolbar)是Windows窗口的组成部分,常常放在窗口的顶部。它含有与应用程序的菜单相对应的项目,为用户提供快速访问的工具。5.2.1使用工具栏控件制作工具栏1.添加工具栏控件(Toolbar)制作工具栏需要两个Active控件——Toolbar控件和Imagelist控件。使用该控件创建工具栏快捷方便,但在VisualBasic的标准工具箱中没有这两个控件,需要先将它们添加到工具箱中,添加步骤如下:(1)选择“工程→部件”菜单项,弹出“部件”对话框;(2)在“部件”对话框中选择“控件”选项卡;(3)在“控件”选项卡的列表项里选择“MicrosoftWindowsCommonControls6.0”;(4)单击“确定”按钮,在工具箱中增加了一些控件,其中包括Toolbar控件和Imagelist控件,如图5-8所示。图5-8工具箱中的Toolbar控件和Imagelist控件5.2工具栏的设计工具栏(Toolba235.2工具栏的设计2.使用工具栏控件制作工具栏使用工具栏控件制作工具栏的步骤如下:(1)创建Imagelist控件通常工具栏的按钮都有相应的图片显示,因此首先创建Imagelist控件,其操作步骤如下:①将工具箱中的Imagelist控件加入到窗体中,生成Imagelist1控件;②右击Imagelist1控件,在弹出菜单中选择“属性”菜单项,然后在对话框中选择“图像选项卡。”③单击“插入图片”按钮,选择合适的图片插入,此时图片索引为1,依次类推,插入所需的图片,此时每个图片都自动生成1个索引号,该索引号在定义工具栏时使用。(2)创建Toolbar控件创建了Imagelist1控件后,利用Toolbar控件创建工具栏的步骤如下:①将工具箱中的Toolbar控件加入到窗体中,生成Toolbar1控件;②右击Toolbar1控件,在弹出菜单中选择“属性”菜单项,弹出“属性页”对话框;③“属性页”对话框包括三个选项卡:“通用”、“按钮”和“图片”选项卡,如图5-9所示。5.2工具栏的设计2.使用工具栏控件制245.2工具栏的设计图5-9Toolbar控件的“属性页”对话框的“通用”选项卡④设置“通用”选项卡的属性,其中包括的属性如下:“鼠标指针”:对应于工具栏的MousePointer属性。该属性设置提供了一个下拉列表,从下拉列表中可以选择各种预定义的鼠标指针形状。运行时,当鼠标指向工具栏时,鼠标指针显示成该属性定义的形状。“图像列表”:对应于工具栏的Imagelist属性。在图像列表中会列出窗体上的ImageList控件的名称,从列表中选择某个ImageList控件使该工具栏与选择的ImageList控件相关联,这样,该工具栏就可以使用该ImageList控件提供的图像了。“外观”:对应于工具栏的Appearance属性,用于决定工具栏是否带有三维效果。“边框样式”:对应于工具栏的BorderStyle属性,选择0为无边框样式,选择1为固定单边框。5.2工具栏的设计255.2工具栏的设计“文本对齐”:对应于工具栏的TextAlignment属性,用于确定文本在按钮上的位置。选择0—tbrTextAlignBottom使文本与按钮的底部对齐,选择1—tbrTextAlignRight使文本与按钮的右侧对齐。“样式”:对应于工具栏的Style属性,用于决定工具栏按钮的外观样式。选择0为标准样式,按钮呈标准凸起形状,选择1时按钮呈平面形状。“允许自定义”:对应于工具栏的AllowCustomize属性,用于决定运行时是否可用“自定义工具栏”对话框自定义ToolBar控件。如果该属性设置为True,运行时双击ToolBar控件可以打开一个“自定义工具栏”对话框;否则,不允许在运行时用“自定义工具栏”对话框自定义ToolBar控件。“可换行的”:对应于工具栏的Wrappable属性,用于决定当重新设置窗体大小时,ToolBar控件按钮是否自动换行。如果该属性设置为True,在重新调整窗体大小时,ToolBar控件上的按钮会自动换行;否则,ToolBar控件上的按钮不会自动换行。“显示提示”:对应于工具栏的ShowTips属性,用于决定是否对按钮对象显示工具提示。如果该属性设置为True,工具栏中的每个对象都可以显示一个相关的提示字符串;否则,不允许显示提示字符串。“有效”:对应于工具栏的Enabled属性,用于决定工具栏是否有效。5.2工具栏的设计“文本对齐”:对应于265.2工具栏的设计⑤添加工具栏的按钮工具栏中要包含按钮,因此创建工具栏,必须先将按钮添加到工具栏中。在设计时,使用“按钮”选项卡可以添加按钮对象并对各个按钮对象的属性进行设置。选择“属性页”对话框的“按钮”选项卡,如图5-10所示,其中包括的属性如下:图5-10在工具栏中添加新按钮5.2工具栏的设计⑤添加工具栏的按钮275.2工具栏的设计“插人按钮”:单击该按钮可以在工具栏上添加一个按钮对象。“删除按钮”:单击该按钮可以删除工具栏上由当前索引指定的按钮对象。“索引”:对应于按钮对象的Index属性,表示添加的按钮对象的索引值,该索引值由添加次序决定。在代码中访问此按钮对象时要使用该索引值。“标题”:对应于按钮对象的Caption属性,用来设置要在按钮对象上显示的文本。“关键字”:对应于按钮对象的Key属性,用于给当前的按钮对象定义一个标识符。该标识符在整个按钮对象集合的标识符中必须惟一。“样式”:对应于按钮对象的Style属性,用来确定按钮对象的外观和状态。其取值如下:0—tbrDefault按钮具有命令按钮的特点。1—tbrCheck按钮是一个复选按钮,可以有选择和未选择两种状态。2—tbrButtonGroup按钮具有选项按钮组的特点。一个按钮组内在任何时刻都只能按下一个按钮。当按下组内的另一个按钮时,原按下的按钮会自动抬起。如果需要多个按钮组,必须使用分隔符对它们进行分组。3—tbrSeparator按钮作为有8个像素的固定宽度的分隔符使用。使用分隔符可以对不同的选项按钮组进行分组。4—tbrPlaceholder按钮作为占位符使用,在外观和功能上像分隔符,但可以设置其宽度。5—tbrDropDown按钮呈按钮菜单的样式,选择该选项后,在按钮的旁边会有一个下拉箭头。运行时单击下拉箭头可以打开一个下拉菜单,从中选择所需要的选项。下拉菜单的菜单项可以在本选项卡下部的“按钮菜单”中进一步设置。5.2工具栏的设计“插人按钮”:单击该285.2工具栏的设计“工具提示文本”:对应于按钮对象的ToolTipText属性,用于设置按钮的提示信息,运行时鼠标指向该按钮时会出现该提示字符串。“图像”:对应于按钮对象的Image属性,可以为每个按钮对象添加图像。图像是由关联的ImageList控件提供的。每个图像在ImageList控件的“属性页”设置中会有一个索引值,在这里只需要指出要使用的图像的索引值即可。“可见”:对应于按钮的Visible属性,用来确定按钮是否可见,缺省值为可见(True)。“有效”:对应于按钮的Enabled属性,用于决定按钮是否响应用户事件,缺省值为有效(True)。“混合状态”:对应于按钮的MixedState属性,用于决定按钮对象是否以不确定状态出现,缺省值为False。“插入按钮菜单”按钮:当在“样式”中选择5时,按钮呈按钮菜单的样式,这时可以为按钮添加一个按钮菜单,使用“插入按钮菜单”按钮可以向按钮菜单中增加一个菜单项。对每一个菜单项的访问使用ButtonMenus属性,同样有以下设置:“索引”:按钮菜单项的索引号,在代码中访问菜单项时要使用该索引值。“文本”:对应于按钮菜单项的Text属性,用于设置要在按钮菜单项中显示的文本。“有效”:对应于按钮菜单项的Enabled属性。“可见”:对应于按钮菜单项的Visible属性。⑥设置“图片”选项卡当在“通用”选项卡的“鼠标指针”设置中选择99-ccCustom时,就可以在“图片”选项卡中为鼠标指针定义一幅图片。运行时,当鼠标指针指向工具栏时,鼠标指针将显示成定义的图片。⑦设置完Toolbar控件的“属性页”对话框中的值,单击“确定”按钮,即生成了系统的工具栏。(3)编写事件代码要使工具栏能够实现用户操作的功能,还需编写事件代码,这样运行的工具栏就可以发挥它的作用了。5.2工具栏的设计“工具提示文本”:对295.2工具栏的设计5.2.2“企业资质管理系统”工具栏的设计在“企业资质管理系统”中提供给用户便捷操作的工具栏,下面结合“企业资质管理系统”介绍工具栏的设计步骤。1.添加Toolbar控件和Imagelist控件在上节中介绍了在工具箱中添加Toolbar控件和Imagelist控件的方法,这里不再赘述。2.创建Imagelist控件按前面介绍的方法在工具箱中选择一个Imagelist控件放在窗体中,定义该控件的名称为ToolbarIcons,在ToolbarIcons控件的“属性页”对话框选择“图像”选项卡,单击“插入图片”按钮,依次加入所需的各个图标,如图5-11所示。图5-11创建Imagelist控件5.2工具栏的设计5.2.2“企305.2工具栏的设计3.创建Toolbar控件按前面介绍的方法在工具箱中选择一个Toolbar控件放在窗体中,在Toolbar控件的“属性页”对话框选择“通用”选项卡,在“图像列表”的下拉列表中选择ToolbarIcons控件,使Toolbar控件与Imagelist控件相关联,其它一些属性的设置如图5-12所示。图5-12“通用”选项卡的设置5.2工具栏的设计3.创建Toolba315.2工具栏的设计接着选择“按钮”选项卡,添加工具栏的按钮,各按钮的属性设置如表5-5所示。表5-5“按钮”选项卡的属性设置索引关键字样式工具显示文本图像说明13—tbrSeparator分隔符2预览0—tbrDefault预览Preview预览按钮3打印0—tbrDefault打印Print打印按钮43—tbrSeparator分隔符5新建0—tbrDefault新建New新建按钮6属性0—tbrDefault属性Properties属性按钮7查询0—tbrDefault查询Find查询按钮83—tbrSeparator分隔符9返回0—tbrDefault返回Back返回按钮10向前0—tbrDefault向前Forward向前按钮11删除0—tbrDefault删除Delete删除按钮5.2工具栏的设计接着选择“按钮”选项325.2工具栏的设计4.编写事件代码在Toolbar1控件的Click事件里编写代码如下:PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)OnErrorResumeNextSelectCaseButton.KeyCase"预览"'添加'预览'按钮代码。selreportCase"打印"'添加'打印'按钮代码。selreport1Case"返回"'添加'返回'按钮代码。prersCase"向前"'添加'未命名4'按钮代码。nextrsCase"新建"'添加'新建'按钮代码。SelectCaseselclickCase1Form6.Showrs.AddNewCase2Form7.Showrs.AddNewCase3EndSubForm9.Showrs.AddNewCase4Case5Form8.Showrs.AddNewEndSelectmbAddNewFlag=TrueCase"属性"SelectCaseselclickCase1Form6.ShowCase2Form7.ShowCase3Form9.ShowCase4Case5Form8.ShowEndSelectCase"查询"find1.Show'添加'查询'按钮代码。Case"删除"deletersEndSelect5.2工具栏的设计4.编写事件代码En335.3状态栏的设计在Windows环境下的许多应用程序都有状态栏,状态栏通常位于窗体的底部,用来显示有关窗口的信息,诸如日期、时间等等。5.3.1状态栏的设计1.添加状态栏控件(Statusbar)制作状态栏需要添加一个Active控件:Statusbar控件。在VisualBasic的标准工具箱中没有这两个控件,需要先将它们添加到工具箱中,方法和添加Toolbar控件是一样的,添加了Statusbar控件的工具箱如图5-13所示。图5-13工具箱中的Statusbar控件5.3状态栏的设计在Windows环境345.3状态栏的设计2.使用状态栏控件制作状态栏使用状态栏控件StatusBar可以很容易地设计出具有Windows风格的状态栏。设计状态栏的步骤如下。(1)创建StatusBar控件利用StatusBar控件创建状态栏的步骤如下:①在工具箱中StatusBar控件加入到窗体中,生成StatusBar1控件。②右击StatusBar1控件,在弹出菜单中选择“属性”菜单项,弹出“属性页”对话框;③“属性页”对话框包括四个选项卡:“通用”、“窗格”、“字体”和“图片”选项卡,如图5-14所示。图5-14StatusBar控件的“属性页”对话框的“通用”选项卡5.3状态栏的设计2.使用状态栏控件制355.3状态栏的设计④设置“通用”选项卡的属性,其中一些属性如下:“样式”:对应于工具栏的Style属性,用于决定工具栏按钮的外观样式。缺省设置为0-sbrNormal,此时StatusBar控件显示所有的Panel对象;设置为1-sbrSimple时StatusBar控件仅显示一个大面板。“鼠标指针”:对应于工具栏的MousePointer属性。该属性设置提供了一个下拉列表,从下拉列表中可以选择各种预定义的鼠标指针形状。运行时,当鼠标指向工具栏时,鼠标指针显示成该属性定义的形状。⑤选择“窗格”选项卡,如图5-15所示。“窗格”选项卡用来添加“窗格”(Panel)对象,以及设置每个“窗格”对象的各种属性,其中一些属性如下:
图5-15StatusBar控件的“属性页”对话框的“窗格”选项卡5.3状态栏的设计④设置“通用”选项卡365.3状态栏的设计“插人窗格”按钮:每次单击该按钮可以在状态栏上添加一个窗格。“删除窗格”按钮:每次单击该按钮可以删除状态栏上由当前索引指定的窗格。“索引”:对应于Panel对象的Index属性,表示添加的Panel对象的索引值,该索引值由添加次序决定。在代码中访问此Panel对象时要使用该索引值。“文本”:对应于Panel对象的Text属性,用于设置要在窗格中显示的文本。“图片”:对应Panel对象的Picture属性,单击“浏览”按钮可以给窗格添加一幅图片;单击“无图片”按钮可以清除已添加的图片。“工具提示文本”:对应于Panel对象的ToolTipText属性,用于设置相应的窗格的提示信息,运行时鼠标指向该窗格时会出现该提示字符串。“关键字”:对应于Panel对象的Key属性,用于给当前的Panel对象定义一个标识符。该标识符在整个Panel对象集合的标识符中必须惟一。5.3状态栏的设计“插人窗格”按钮:每375.3状态栏的设计“最小宽度”:对应于Panel对象的MinWidth,返回或设置Panel对象的最小宽度,缺省值与状态栏的实际宽度的缺省值相同。当AutoSize属性被设置为1时,使用MinWidth属性可以防止窗格因自动调整大小被调整到太小的宽度。当Autosize属性被设置为0时,MinWidth属性总是被设定为与Width属性相同的值。“实际宽度”:对应于Panel对象的Width属性,表示窗格的当前宽度,Width属性值总是反映窗格的实际宽度,并且不能小于MinWidth属性值。“对齐”:对应于Panel对象的Alignment属性,用于设置窗格中的文本对齐方式。取值如表5-6所示:表5-6Panel对象的Alignment属性取值值常数描述0sbrLeft文本左对齐1sbrCenter文本居中2sbrRight文本右对齐5.3状态栏的设计“最小宽度”:对应于385.3状态栏的设计“样式”:对应于Panel对象的Style属性,用来设置窗格的样式。其属性设置如表5-7所示。表5-7Panel对象的Style属性设置值常数描述0sbrText缺省设置。显示用Text属性设置的文本或由Pictrue属性设置的图片。1sbrCaps当激活CapsLock时,用黑体显示字母CAPS;而当停用CapsLock时,显示暗淡的字母。2sbrNum当激活数字锁定键时,用黑体显示字母NUM;而当停用数字锁定键时,显示暗淡的字母。3sbrIns当激活插入键时,用黑体显示字母INS;而当停用插入键时,显示暗淡的字母。4sbrScrl当激活滚动锁定时,用黑体显示字母SCRL;而当停用滚动键时,显示暗淡的字母。5sbrTime以系统格式显示当前时间。6sbrDate以系统格式显示当前日期。7sbrKana当激活滚动锁定时,用黑体显示字母KANA;而当滚动锁定停用时,显示暗淡的字母。5.3状态栏的设计“样式”:对应于P395.3状态栏的设计如果将Style属性设置为除零以外的任何样式,则任何以Text属性设置的文本将不显示,除非将Style属性设置为零。“斜面”:对应于Panel对象的Bevel属性,用来设置Panel对象的斜面样式。取值如表5-8所示:表5-8Panel对象的Bevel属性取值值常数描述0sbrNoBevelPanel不显示斜面,但文本看起来好象是将它显示在状态栏的右边1sbrInset缺省设置,Panel以凹进的形式显示2sbrRaisedPanel以凸起的形式显示5.3状态栏的设计如果将Style405.3状态栏的设计“自动调整大小”:对应于Panel对象的AutoSize属性,用来确定窗格能否自动调整大小。取值如表5-9所示:表5-9Panel对象的AutoSize属性取值值常数描述0sbrNoAutoSize缺省设置,Panel不能自动调整大小,其宽度由Width属性指定。1sbrSpringPanel的宽度随窗体宽度的改变自动调整,其宽度决不会低于
MinWidth属性指定的宽度。2sbrContents调整Panel大小以适合它的目录,但是其宽度决不会低于MinWidth属性指定的宽度。5.3状态栏的设计“自动调整大小”:对415.3状态栏的设计(2)编写代码状态栏中的信息总是反映当前程序运行的状态,因此时刻在发生变化,要确定状态栏中各窗格对应的值,就需要在事件中编写代码。5.3.2“企业资质管理系统”状态栏的设计在“企业资质管理系统”中利用状态栏显示系统运行时的一些信息,包括当前运行的各个数据表的总记录数,当前指针的记录数,当前用户、当前键盘上的Insert状态和当前时间。下面结合“企业资质管理系统”介绍状态栏的设计步骤。1.添加StatusBar控件在上节中介绍了在工具箱中添加StatusBar控件的方法,这里不再赘述。5.3状态栏的设计(2)编写代码425.3状态栏的设计2.创建StatusBar控件(1)在工具箱中选择一个StatusBar控件放在窗体中,定义该控件的名称为StBar1。(2)选中StBar1控件,单击右键,在弹出菜单中选择“属性”菜单项,弹出“属性页”对话框。(3)在StBar1控件的“属性页”对话框选择“窗格”选项卡,添加各个“窗格”对象。(4)单击“插入窗格”按钮,依次加入所需的各个窗格,如图5-16所示。图5-16“窗格”选项卡的设置5.3状态栏的设计2.创建Status435.3状态栏的设计(5)系统中添加了5个窗格,各个窗格的属性设置如表5-10所示。表5-10“窗格”选项卡的属性设置索引关键字样式有效性说明1q10-sbrText有效当前窗体中数据的总记录数2q20-sbrText有效当前指向的记录数3q30-sbrText有效当前用户4q43-sbrIns无效当前键盘上的Insert状态5q55-sbrTime有效当前时间5.3状态栏的设计(5)系统中添加了5445.3状态栏的设计3.编写事件代码窗格对象是一个以1为底的集合,可以用Item属性引用指定的窗格对象,格式如下:
statusbar.panels.Item(index)其中,index是窗格的索引号。由于状态栏的信息是系统实时信息,因此状态栏中窗格的取值在不同对象的事件中。(1)状态栏的前两个窗格信息:总记录数和当前指针的记录数①单击ListView1的每1项时,状态栏的前两个窗格分别显示当前处理的数据表的总记录数和当前指针的记录数,在ListView1控件的Click事件里编写如下代码:PrivateSubListView1_Click()……'单击ListView1控件时选择要处理的数据表共有的记录数StBar1.Panels.Item(1)=ListView1.SelectedItem.Text+":共"&rs.RecordCount&"条记录"'指针所指的记录号Ifrs.RecordCount>0ThenStBar1.Panels.Item(2)="记录:目前在第"&rs.Bookmark&"条记录"EndIf……EndSub②当导入数据时,第2个窗格显示了导入的总记录数,在导入菜单的Click事件里编写如下代码:PrivateSubimport_Click()……StBar1.Panels.Item(2)="已导入,现在共有"&rs.RecordCount&"条记录"……EndSub③在DataGrid1控件里移动光标时,第2个窗格显示当前记录数,在DataGrid1控件的RowColChange事件里编写如下代码:PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)……StBar1.Panels.Item(2)="记录:目前在第"&rs.Bookmark&"条记录"……EndSub5.3状态栏的设计3.编写事件代码455.3状态栏的设计(2)在状态栏的第3个窗格里显示当前用户用户登录时输入了用户名,将值带入Form11窗体里,因此在Form_Load事件里编写如下代码:PrivateSubForm_Load()……StBar1.Panels.Item(3)="当前用户:"&g_userEndSub编写完事件后,运行程序时状态栏显示相应的信息如图5-17所示。
图5-17运行的状态栏5.3状态栏的设计(2)在状态栏的第3465.4本章习题1.简述下拉式菜单和弹出式菜单的适用环境及用法。2.参照5.1.2节实例设计下拉式菜单。3.参照5.1.4节实例设计弹出式菜单。4.参照5.2.2节实例设计工具栏。5.参照5.3.2节实例设计状态栏。5.4本章习题1.简述下拉式菜单和弹出47演讲完毕,谢谢观看!演讲完毕,谢谢观看!48VisualBasic界面设计本章学习要点掌握VisualBasic菜单的设计方法掌握VisualBasic工具栏的设计方法掌握VisualBasic状态栏的设计方法在Windows环境下运行的各种应用程序,虽然各有不同,但这些界面大都有着共同的特点。它们一般都包括菜单、工具栏和状态栏等。设计VisualBasic应用程序时,也需要进行界面设计。前面介绍了窗体的设计方法,本章将继续介绍开发Windows应用程序中的一些典型界面的方法。VisualBasic界面设计495.1菜单设计在Windows环境下,大多数应用软件都是通过菜单来实现各种操作。窗体菜单是Windows应用程序界面中最具特色的部分。而对于VisualBasic应用程序来说,当操作比较简单时,一般通过控件来执行;而当要完成较复杂的操作时,使用菜单具有十分明显的优势。菜单的基本作用有两个,一是提供人机对话的界面,方便用户选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。一个好的菜单程序,不仅能使系统美观,而且能使用户使用方便,并可避免由于误操作而带来的严重后果。在实际应用中,菜单可分为两种基本类型:下拉式菜单和弹出式菜单。例如,启动VisualBasic后,单击“文件”菜单所显示的就是下拉式菜单,而用鼠标右按钮单击窗体时所显示的菜单就是弹出式菜单。5.1菜单设计在Windows505.1菜单设计5.1.1下拉式菜单下拉式菜单是一种典型的窗口式菜单。下拉式菜单自上而下在屏幕上“下拉”一个个窗口菜单供用户选择或输入信息。在下拉式菜单系统中,一般有一个主菜单,其中包括若干个选择项。主菜单的每一项又可“下拉”出下一级菜单,这样逐级下拉,用一个个窗口的形式弹出在屏幕上,操作完毕即可从屏幕上消失,并恢复原来的屏幕状态。5.1菜单设计5.1.1515.1菜单设计1.下拉式菜单的结构在VisualBasic中,下拉式菜单在一个窗体上设计,一个下拉式菜单包括两类:一是菜单栏,位于窗体的顶部,由若干个菜单标题组成;二是子菜单区,这一区域为临时性的弹出区域,只有在用户选择了相应的主菜单项后才会弹出子菜单,以供用户进一步选择菜单的子项,子菜单中的每一项是一个菜单命令或分隔条,称为菜单项。下拉式菜单的结构如图5-1所示。图5-1下拉式菜单结构菜单标题
菜单栏
子菜单分隔条5.1菜单设计1.下拉式菜单的525.1菜单设计2.菜单编辑器VisualBasic通过菜单编辑器创建菜单。可以使用以下四种方法进入菜单编辑器对话框:(1)单击“工具”菜单项中的“菜单编辑器”选项。(2)单击工具栏中的“菜单编辑器”按钮。(3)使用热键“Ctrl+E”。(4)在要建立菜单的窗体上单击鼠标右键,在弹出菜单中选择“菜单编辑器”,如图5-2所示。图5-2在弹出菜单中打开“菜单编辑器”5.1菜单设计2.菜单编辑器535.1菜单设计打开后的菜单编辑器窗口如图5-3所示。图5-3菜单编辑器窗口5.1菜单设计打开后的菜单编辑545.1菜单设计下面介绍“菜单编辑器”对话框的内容。(1)标题标题是用来输入所建立的菜单名及菜单中每个菜单项标题的文本框。如果输入1个减号(-),就在菜单中加入了1条分隔线。如果在标题中的某一个字母前加上&,程序运行后在菜单项中该字母将加上下划线,通过“Alt+特定字母”可以访问该菜单项。(2)名称名称是用来输入菜单名及各菜单项控制名的文本框,它不在菜单中出现。(3)索引索引设置菜单项在菜单数组中的位置。(4)快捷键快捷键用来设置菜单项的快捷键。单击右端的箭头,显示热键的下拉式菜单,从中选择菜单项等价的热键。(5)帮助上下文ID在帮助上下文中键人数值,这个值用来在HelpFile属性中查找相应的帮助主题。(6)协调位置协调位置用来确定菜单或菜单项是否出现或在什么位置出现。单击右端的箭头,将下拉显示一个列表,其选项如下:0-None菜单项不显示1-Left菜单项靠左显示2-Middle菜单项居中显示3-Right菜单项靠右显示(7)复选当“复选”项被设置为True时,可以在相应的菜单项旁加上指定的记号(例如“√”)。利用这个属性,可以指明某个菜单项当前是否处于活动状态。(8)有效“有效”选项用来设置菜单项的操作状态。其缺省设置为True,表明相应的菜单项可以对用户事件作出响应;该属性被设置为False时,相应的菜单项会“变灰”,不响应用户事件。5.1菜单设计下面介绍“菜单编555.1菜单设计(9)可见“可见”选项确定菜单项是否可见,一个不可见的菜单项是不能执行的。其缺省设置为True,即菜单项可见;当设置为False时,该菜单项在菜单上不显示。(10)显示窗口列表“显示窗口列表”用于多文档窗体。用于确定菜单控件是否包含一个当前打开的MDI子窗体列表。(11)右箭头单击一次右箭头显示一个内缩符号(....),把在菜单列表区中选定的菜单向下移一个等级。(12)左箭头单击一次左箭头删除一个内缩符号(....),把在菜单列表区中选定的菜单向上移一个等级。(13)上箭头单击上箭头使在菜单列表区中选定的菜单项在同级菜单内向上移动一个位置。(14)下箭头单击下箭头使在菜单列表区中选定的菜单项在同级菜单内向下移动一个位置。(15)下一个开始一个新的菜单项。(16)插入用来在当前菜单项前插入一个新的菜单项。(17)删除删除当前选中的菜单项。(18)菜单项显示区在“菜单编辑器”对话框的下部,输入的菜单项在这里分级显示出来。在“菜单编辑器”中完成了各菜单项的设置之后,单击“确定”按钮关闭“菜单编辑器”,此时在窗体的顶部就可以看到设计的菜单结构。要使菜单完成用户的操作还需完成菜单项的单击事件,才能在运行时通过单击菜单项执行相应的功能。5.1菜单设计(9)可见565.1菜单设计5.1.2“企业资质管理系统”下拉式菜单的设计下面介绍在“企业资质管理系统”中设计下拉式菜单的方法。1.用菜单编辑器建立菜单主菜单项如图5-1所示,各子菜单如图5-4所示。
图5-4各子菜单项5.1菜单设计5.1.2“575.1菜单设计在菜单编辑器中设计主菜单和各子菜单项,它们的设置如表5-1所示。表5-1菜单项的设置菜单项标题名称内缩符号快捷键访问键主菜单项1文件(&F)file无Alt+F子菜单项1导入(I)import1Ctrl+I子菜单项2导出(E)export1Ctrl+E子菜单项3网络传送nettr15.1菜单设计在菜单编辑器中设计585.1菜单设计子菜单项4-m111子菜单项5选择恢复数据库(&R)rest1Alt+E子菜单项6数据库另存为(&S)saveas1Alt+R子菜单项7-m01子菜单项8打印print1Ctrl+P子菜单项9打印设置psetup1子菜单项10打印预览(V)pre1Ctrl+V子菜单项-m11子菜单项退出(X)1Ctrl+X菜单项2编辑(&E)edit无Alt+S子菜单项1新建(N)new1Ctrl+N5.1菜单设计子菜单项4-m11595.1菜单设计子菜单项2删除(D)delete1Shift+Del子菜单项3批量清空deleteall1子菜单项4-m21子菜单项5查询(F)find1Ctrl+F子菜单项6定位(G)go1Ctrl+G子菜单项7第一条f2子菜单项8上一条p2子菜单项9下一条n2子菜单项10最后一条l2子菜单项11-m41子菜单项12属性(A)undo1Ctrl+A5.1菜单设计子菜单项2删除(D605.1菜单设计菜单项3系统(&S)system无Alt+S子菜单项1备份数据库(B)backup1Ctrl+B子菜单项2恢复数据库(R)restore1Ctrl+R子菜单项3-m31子菜单项4注销(U)do1Ctrl+U子菜单项5更改密码(M)pass1Ctrl+M子菜单项6用户管理(G)gl1Ctrl+G菜单项4分组报表打印(&T)hz无Alt+T子菜单项1安全资格证书(副本)fb1子菜单项2安全资格证书aqre1子菜单项3按单位性质分组统计dw15.1菜单设计菜单项3系统(&S615.1菜单设计子菜单项4按等级分组统计dj1子菜单项5-m51子菜单项6按人员技术职称分组统计ryzc1子菜单项7-m71子菜单项8按地市(州)分组统计在建项目zj1子菜单项9分组统计事故情况ds1菜单项5帮助(&H)help无Alt+H子菜单项1目录(&I)sy1Alt+I子菜单项2-m61子菜单项3个人主页url1子菜单项4关于...(&A)gy1Alt+5.1菜单设计子菜单项4按等级分625.1菜单设计2.编写菜单事件用户要能操作菜单,就需给每个菜单项编写一个Click事件。用鼠标单击窗体上的各下拉菜单项就可以打开相应的菜单项的Click事件,在其中编写代码。菜单的Click事件代码很多,这里只给出“编辑”菜单项的“新建”子菜单的Click事件,如图5-5所示。用户通过单击相应的按钮就可以打开所需的窗体对象,使用便捷。
图5-5编写的菜单事件5.1菜单设计2.编写菜单事件635.1菜单设计5.1.3弹出式菜单在Windows环境下,除了下拉式菜单外,弹出式菜单应用得也非常广泛。下拉式菜单放置在程序界面得顶部,而弹出式菜单可以出现在窗体的任何部位,适用于少量的菜单项,操作灵活方便。弹出式菜单通过单击鼠标右键打开,所以也称“右键菜单”。设计弹出式菜单的步骤如下:(1)使用“菜单编辑器”在菜单编辑器中按设计下拉式菜单的方法设计弹出式菜单,根据需要将要作为弹出式菜单的顶级菜单设置为可见或不可见,各子菜单项设为可见。(2)编写MouseDown事件弹出式菜单使单击鼠标右键所引发的事件,必定要在对象的MouseDown事件过程中编写代码。PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)EndSub5.1菜单设计5.1.3645.1菜单设计参数的意义是:①Button值判断按下哪一个鼠标键:1-左键;2-右键;3-中键。②Shift值对Shift、Ctrl和Alt键的位置进行判断:0-3个键都向上;1-Shift键按下;2-Ctrl键按下;3-Shift键和Ctrl键按下;4-Alt键按下;5-Shift键和Alt键Ctrl键按下;6-Ctrl键和Alt键按下;7-3个键都按下。③X,Y指出鼠标当前位置。在MouseDown事件中用PopupMenu方法显示弹出式菜单,其格式为:[<对象名>.]PopupMenu<菜单名>[,flags[,x[,y[,boldcommand]]]]其作用是在当前对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。其中:<对象名>:指菜单所在的位置,如果省略,则默认为是当前窗体。<菜单名>:在菜单设计器中设计的菜单项的名称。flags:取一个数值或常量,用于指定弹出式菜单的位置和行为,其取值如表5-2和表5-3所示。5.1菜单设计参数的意义是:655.1菜单设计
表5-2位置常量
表5-3行为常量
值位置常量说明0vbPopupMenuLeftAlign缺省值,弹出式菜单的左上角位于坐标(x,y)处4vbPopupMenuCenterAlign弹出式菜单的上框中央位于坐标(x,y)处8vbPopupMenuRightAlign弹出式菜单的右上角位于坐标(x,y)处值行为常量说明0VbPopupMenuLeftButton缺省值,弹出式菜单项只响应鼠标左键单击2VbPopupMenuRightButton弹出式菜单项可以响应鼠标左、右键单击5.1菜单设计665.1菜单设计如果要同时指定位置常量和行为常量时,则将两个参数值用Or连接,如:00r2。x:指定显示弹出式菜单的x坐标,省略时为鼠标坐标。y:指定显示弹出式菜单的y坐标,省略时为鼠标坐标。boldcommand:指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。因此,在对象的MouseDown事件过程中编写代码通常如下PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)'单击鼠标右键IfButton=2Then'用PopupMenu方法弹出菜单PopupMenu菜单名EndIfEndSub5.1菜单设计如果要同时指定位置675.1菜单设计5.1.4“企业资质管理系统”弹出式菜单的设计在“企业资质管理系统”中应用了弹出式菜单,如图5-6所示,其设计方法如下。图5-6弹出式菜单的应用5.1菜单设计5.1.4685.1菜单设计(1)在“菜单编辑器”中设置快捷菜单项,如表5-4所示。表5-4快捷菜单项的设置
菜单项标题名称可见性主菜单项编辑editmenu不可见子菜单项1新建new1可见子菜单项2删除del1可见子菜单项3属性Attribute可见子菜单项4-mm可见子菜单项5查询query可见子菜单项6打印预览preview可见子菜单项7打印print可见5.1菜单设计(1)在“菜单编辑695.1菜单设计(2)编写MouseDown事件由于快捷菜单在单击表格控件时发生,因此在控件DataGrid1的MouseDown过程中编写代码,如图5-7所示。图5-7触发弹出式菜单的事件5.1菜单设计(2)编写Mous705.2工具栏的设计工具栏(Toolbar)是Windows窗口的组成部分,常常放在窗口的顶部。它含有与应用程序的菜单相对应的项目,为用户提供快速访问的工具。5.2.1使用工具栏控件制作工具栏1.添加工具栏控件(Toolbar)制作工具栏需要两个Active控件——Toolbar控件和Imagelist控件。使用该控件创建工具栏快捷方便,但在VisualBasic的标准工具箱中没有这两个控件,需要先将它们添加到工具箱中,添加步骤如下:(1)选择“工程→部件”菜单项,弹出“部件”对话框;(2)在“部件”对话框中选择“控件”选项卡;(3)在“控件”选项卡的列表项里选择“MicrosoftWindowsCommonControls6.0”;(4)单击“确定”按钮,在工具箱中增加了一些控件,其中包括Toolbar控件和Imagelist控件,如图5-8所示。图5-8工具箱中的Toolbar控件和Imagelist控件5.2工具栏的设计工具栏(Toolba715.2工具栏的设计2.使用工具栏控件制作工具栏使用工具栏控件制作工具栏的步骤如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亲子游乐场规划与运营管理咨询考核试卷
- 智能宠物喂食器设计考核试卷
- 劳保耗材合同范例
- 中介正规租房合同范例
- 公司提前解约合同标准文本
- 企业场地设计合同标准文本
- 劳动合同标准文本 证明
- 景区旅游安全保障体系建设考核试卷
- 东莞会策划合同标准文本
- 入股居间协议合同标准文本
- 劳 务 中 标 通 知 书
- 建房界址四邻无争议确认表
- 化工安全工程:第四章 泄漏源及扩散模式
- 流变性以及其调整
- 完整版安全生产培训内容
- 医院关于待岗、停岗的规定
- [四川]”寻仙踪、走诗路“诗歌度假小镇规划概念方案
- 10大气复合污染条件下新粒子生成与二次气溶胶增长机制
- 2022危险化学品企业重点人员安全资质达标导则-应急危化二〔2021〕1号
- 鲁迅小说中的“记忆”叙事
- 《万象网管OL》使用指南
评论
0/150
提交评论