




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计之C+题库管理系统的相关学习VB篇二紧接着上一篇所复习的VB工具框里的控件,今天我复习了图形框和图像框控件,直线与形状控件,常用的绘图方法,菜单界面的设计,动态增减菜单,以及基本窗体的创建这些内容。一 图形框和图像框控件在 VB 中,主要通过两种办法进行图像绘制:一种是利用 ActiveX 控件,如用图形框显示图片;另外一种是通过使用 VB 语言本身的函数和方法,通过在屏幕上绘制点、线和图形来制作。1、图形框控件的主要属性:图形框控件(PictureBox)可以用来显示位图、JPGE、GIF、图标等格式的图片,在工具箱面板中,图形框控件的图标如图1:图1(1)、Name 属性:命名规则为:PicX ,如 PicMove 、PicShow ,等等。(2)、Picture(图片)属性:本属性用来返回或设置控件中要显示的图片,可以通过属性窗口进行设置。如果要在程序运行过程中载入图片,常常使用 LoadPicture 函数,其语法规则为:对象.Picture = LoadPicture(图形文件的路径与名字)如:PicMove.Picture = Loadpicture(c:Pictspen.bmp)(3)、AutoSize(自动显示)属性:本属性决定了图形框控件是否自动改变大小以显示图片的全部内容。当值为 True ,图象可以自动改变大小以显示全部内容;当值为 False ,则不具备图象的自我调节功能。2、图形框控件的主要事件:它可以接收 Click(单击)事件与 DblClick(双击)事件,还可以在图片框中使用 Cls(清屏)、Print 方法。在实际使用过程中,它多是作为一种图形容器出现,所以常常是跟其他控件搭配使用的,如点击一个按钮,图形框自动装入图片,等等。3、图像框控件(Image)的主要属性:跟图形框一样,图像框控件也具有诸如 Name、Picture 等属性,以及 Loadpicture 的方法,但在图像自适应问题上有所不同。PictureBox 用 AutoSize 属性控制图形的尺寸自动适应,而 Image 控件则用 Stretch 属性对图片进行大小调整。如图2:图2 4、图像框与图形框控件的区别:、图形框是“容器”控件,可以作为父控件,而图像框不能作为父控件,其他控件不能作为图像框的子控件。图形框作为一个“容器”,可以把其他控件放在其内作为它的“子控件”,当图形发生位移,其内的子控件也会跟着一起移动。图3 、图形框可以通过 Print 方法显示与接收文本,而图像框不能。、图像框比图形框占用内存少,显示速度更快一些,因此,在图形框与图像框都能满足设计需要时,应该优先考虑使用图像框.二直线与形状控件1.利用直线与形状控件,可以使窗体上显示的内容更为丰富,如在窗体上增加简单的线条和实心图形,等等。2.利用直线控件,可以建立简单的直线,通过修改其属性,还可以改变直线的粗细、色彩,以及线型。主要属性:除了其他通用属性外,直线与形状控件还具有一些比较独特的属性。a、BorderStyle(边框类型),实用于直线与形状。TransParent:透明,边框不可见。Solid:实心边框,最常见。Dash:虚线边框。Dot:点线边框。Dash-Dot:点划线边框。Dash-Dot-Dot:双点划线边框。Inside Solid:内实线边框。b、FillStyle(填充类型),实用于形状。Solid:实心填充。TransParent:透明填充。Horizontal Line:以水平线进行填充。Vertical Line:以垂直线进行填充。Upward Diagonal:向上对角线填充。Downward Diagonal:向下对角线填充。Cross:交叉线填充。Diagonal Cross:对角交叉线填充。c、Shape(形状),实用于形状。Rectangle:矩形。Square:正方形。Oval:椭圆形。Circle:圆形。Rounded Rectangle:圆角矩形。Rounded Square:圆角正方形。三常用的图形的绘制除了前面谈到的用控件显示与绘制图形的方法外,VB 还提供了一组庞大的方法用来绘制点、线、面,以及设置前景、背景色等各种方法。1、设置当前绘图点:在 VB 中,可以通过设置窗体或图形框的 CurrentX 与 CurrentY 属性来设置当前绘图点。CurrentX 与 CurrentY 决定了绘制或显示的起始坐标,在设计时,这两个属性不可用。 2、绘制点、线、面的方法:1、点的绘制法:在指定对象(如窗体、图形框)上的指定位置处绘制点,还可以为点指定颜色,语法如下:对象名.Pset (X,Y),Color X ,Y 分别为点的水平与垂直坐标,Color 为点的颜色,是可选项。 2、直线的绘制法: 在对象上绘制直线,语法如下: 对象名.Line (X1,y1) - (X2,Y2), Color (X1,Y1) 是直线的起点,(X2,Y2)是直线的终点,Color 为可选项。 如图4: 图42、图形框的代码是:Private Sub Picture1_Click()Picture1.Line (350, 1020)-(2050, 1020)End Sub 3、绘制矩形:用 Line 方法还可以绘制矩形,语法如下: 对象名.Line (X1,Y1) - (X2,Y2), Color, B ,F 其中,(X1,Y1) 是矩形的左上角座标,(X2,Y2)是矩形右下角座标,Color 为矩形边框的颜色,使用参数 B 而不用 F ,那么矩形用当前的填充色(FillColor)与填充方式(FillStyle)对矩形进行填充;如果使用了参数 F ,那么矩形以边框的颜色进行填充。如图5: 图5特别注意,用 Line 画矩形框,如果不用其他参数,那么 B 与坐标(X2,Y2)之间应该有两个逗点,一个是紧跟坐标2,一个表示 Color 省略了,如:Picture1.Line (500,500) - (1000,1000),B4、绘制圆、椭圆、弧:用 Circle 方法可以绘制圆、椭圆与弧,语法如下: 对象名.Circle (X,Y), Radius, Color,start,end,aspect 其中,(X,Y)是圆、椭圆或弧的圆心坐标,Radius 是半径,这两个参数是必须项;Color 是圆的轮廓色,Start 与 End 是弧的起点与终点位置。其范围是 -2 2Pi ;Aspect 是圆的纵横尺寸比,默认值是 1 即圆,如图6: 图63、颜色、前景与背景色的设置:1、颜色函数 RGB()在前面关于卷动条控件(综合示例五)的讲解中,我们讲述了色彩的设置问题,而这正是 RGB 颜色函数的原理所在。色彩设置的方法如下: RGB(Red,Green,Blue)不要忘了,Red、Green、Blue 每种色彩各有 0255 种成份,三种色彩不同参数的搭配,就产生了丰富多采的现实世界。 2、前景色的设置:通过对 ForeColor(前景色属性)的设置,可以返回或设置对象的前景色。3、背景色的设置:对 BackColor 属性进行设置,就可以返回或设置对象的背景色。 4、图形的清除:用 Cls 方法可以清除窗体或图形框在程序运行中绘制的图形,语法如下: 对象名.Cls 四菜单界面的设置任何一个应用程序,都需要通过各种命令来达成某项功能,而这些命令,大多数是通过程序的菜单来实现的,如我们常常用到的记事本的菜单: 图7VB 提供了一个菜单编辑器,专门用来制作各式各样的菜单,它在标准工具栏中的图标如图二: 图7双击该图标,弹出如图8的窗口,通过这个窗口,我们就可以制作菜单了。 图8当然,程序光是有菜单还不行,它只是为用户提供了便捷的操作接口,程序功能的最终实行,还必须通过给这些菜单输入复杂的程序才能得以实现。 下面,我们以 Windows 自带的笔记本为例,介绍如何用 VB 制作菜单。 一、菜单制作:1、双击如图二的菜单编辑器图标,然后弹出如图三的编辑窗口。 2、标题:显示在菜单中的文本,这里,我们输入“文件(&F)”字样。(&F) 是什么东西?这是为了方便用户使用键盘操作菜单,当程序运行时,(&) 字样不会出现,而是在字母 F 下加上一条横线,这表示,只要用户在按住 Alt 键的同时再按下 F 键,就相当于用鼠标点击“文件”这个菜单命令了。也就是说,文件菜单的快捷键是 Alt+F 。 名称:本菜单在程序中的名称,主要用作程序调用,因此记得用英文名,另外,名字最好一目了然,这里,我们将“文件”菜单命名为 MenuFile 。 “文件”菜单制作完毕,如图9: 图93、点击菜单编辑器上的“下一个”按钮,制作下一个菜单,这时,我们看到,编辑区域自动提到了下一行,如图10: 图10点击向右按钮,本行前面出现了四个小点,表示本菜单降了一级,是二级菜单(依此类推,如果要制作三级菜单,只需要再点一下向右按钮进行降级就行了)。然后用第二步的方法,制作“新建”(MenuNew)、“打开”(MenuOpen)、“保存”(MenuSave)、“另存为”(MenuSaveOther)菜单,结果如图六: 图11上面讲到了用 & 符号制作快捷键的方法,这里我们再使用 VB 菜单编辑器中的“快捷键”定制方法制作快捷键。 找到“新建”菜单,先在“新建(&N)”字样后面添加六个空格,以便后面显示的快捷键跟菜单名之间有点空隙,然后在快捷键下拉列表中选择 Ctrl+N ,这表示在按住 Ctrl 键的同时按 N 键就能使用“新建”命令了,如下图: 4、制作菜单分隔线:“另存为”菜单下面是条分隔线,那么分隔线如何表示呢?很简单,只需在“标题”框中输入“-” 就行了,命名为 MenuSperate1 ,然后点按“下一个”按钮制作下面的菜单。如图12: 图125、同理可做“页面设置”(MenuPage)、“打印”(MenuPrint)、“分隔线二”(MenuSeprate2)、“退出菜单”(MenuQuit),如图13: 图136、制作“编辑”菜单:由于“编辑菜单”是一级菜单,所以在完成“退出”菜单,并点按“下一个”按钮后,别忘了点按向左按钮,将当前菜单进行升级,这时可以看到,本行前面的四个小点消失了,如图14: 图147、根据前面学到的知识,我们制作“编辑”(MenuEdit)、“撤消”(MenuUndo)、“分隔条三”(MenuSeprate3)、“剪切”(MenuCut)、“复制”(MenuCopy)、“粘贴”(MenuPaste)、“删除”(MenuDel)、“分隔条四”(MenuSeprate4)、“全选”(MenuSelectAll)、“时间/日期”(MenuDate)、“分隔条五”(MenuSeprate5)、“自动换行”(MenuWrap)、“设置字体”(MenuFont)菜单。如图15: 图158、添加 RichText 控件:最后在窗体内添加一个 RichText 控件,结果如图16: 图16在默认的工具箱面板中,RichText 控件没有罗列出来,大家可以用鼠标右键点击工具箱面板,在弹出的面板中选择“部件”,然后在弹出的窗口中找到“Microsoft Rich Textbox Control 6.0”,勾选本控件的复选框,最后“确定”就行了,如图17: 图17二、菜单属性设置:对各个菜单的属性设置,可以在制作菜单的过程中进行,也可以在菜单设计完毕后集中进行处理。 1、菜单的“有效”性:只有当菜单处于“有效”状态时才能被使用。 对于一个新的空白文件来说,撤消、剪切、复制、粘贴的命令缺少操作对象,所以在初始状态下,它们应该是“无效”的。 打开菜单编辑器,找到“撤消”菜单,然后将“有效”复选框前的勾去掉,这样,“撤消”菜单无效了,如图十三: 图18同理,将“剪切”、“复制”、“粘贴”三个菜单变为“无效”。2、复选菜单:在记事本中,“自动换行”可以对文本的显示进行换行控制,默认状态为“非自动换行”模式,点击一次则启动“自动换行”模式,再点击一次就取消“自动换行”,象这种菜单,我们称为“复选菜单”。 复选菜单的制作非常简单,只需找到要作为复选菜单的那个菜单,然后勾选“复选”按钮就行了,如图19: 图19但是,此时的复选按钮还不健全,需要代码的支持方能正常使用,具体情况在下一节的示例中讲述。五动态增减菜单我们在上一节示例的基础上,来制作如图一的小程序,每点击一次“增加信息”命令,菜单上会自动增加一个“信息”菜单,每点击一次“清除菜单”命令,程序自动清除当前信息菜单;当菜单回复原样,即只剩“信息”菜单时,“清除菜单”无效。 20一、界面设置:在第二节最终结果的基础上,创建如图一的界面,需要注意的是,“信息”菜单(MenuHint)必须在前面的“索引”框中填入数字 0,如图21: 图21除了前面谈到的用控件显示与绘制图形的方法外,VB 还提供了一组庞大的方法用来绘制点、线、面,以及设置前景、背景色等各种方法。一、设置当前绘图点:在 VB 中,可以通过设置窗体或图形框的 CurrentX 与 CurrentY 属性来设置当前绘图点。CurrentX 与 CurrentY 决定了绘制或显示的起始坐标,在设计时,这两个属性不可用。二、绘制点、线、面的方法:1、点的绘制法:在指定对象(如窗体、图形框)上的指定位置处绘制点,还可以为点指定颜色,语法如下:对象名.Pset (X,Y),ColorX ,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 既要在“增加菜单”事件中引用,又要在“清除菜单”事件中引用,所以我们将它作为窗体层变量在“通用”过程的“声明”中对其进行定义,如图22:图22图三中的代码如下: Dim HintNumber As Integer 3、在窗体的载入事件中让 HintNumber 为初始值 0 ,再加上原来的代码,结果如图23: 图234、“增加信息”菜单的 Click 事件:Private Sub MenuAdd_Click()HintNumber = HintNumber + 1Load MenuHint(HintNumber)MenuHint(HintNumber).Caption = 信息 & HintNumberEnd Sub上面程序的意义在于,先计算 HintNumber + 1 并将结果赋给新的 HintNumber ,然后通过 Load 命令打开一个新菜单 MenuHint(HintNumber) ,并让新菜单的标题变成“信息X”,其中,X是数字,表示这是第几个信息菜单。5、“清除信息”菜单的 Click 事件:Private Sub MenuClear_Click()If HintNumber = 0 ThenExit SubElseUnload MenuHint(HintNumber)HintNumber = HintNumber - 1End IfEnd Sub上面的代码,先对 HintNumber 值进行判断,当 HintNumber 为 0 即程序的初始状态时,直接退出当前过程(Exit Sub 是退出当前过程的命令,切记);如果 HintNumber 不为 0 ,那么卸载索引值最高的信息菜单,即 MenuHint(HintNumber) ,然后讲算 HintNumber -1 并将结果赋给新的 HintNumber ,并最后退出条件判断。6、“清除信息”菜单的“有效性”:如果程序处于初始状态,即“信息菜单”的索引值为 0 ,那么“清除信息”命令无效,否则有效。由于只有先点击“帮助菜单(MenuHelp)”才能弹出“清除信息菜单(MenuClear)”,所以可以在 MenuHelp 的点击事件中输入以下代码:Private Sub MenuHelp_Click()If HintNumber = 0 ThenMenuClear.Enabled = FalseElseMenuClear.Enabled = TrueEnd IfEnd Sub7、测试:按键盘上的 F5 键,对程序进行最终的测试。8、提醒:本节最重要的是掌握诸如 HintNumber 这种辅助变量,它将鼠标的点击动作用数字的形式加以诠释,通过值的加减来完成菜单的动态增加与清除。这种辅助变量的使用,在 VB 中几乎是无处不在的,如前面我们在讲 ForNext的语法时说的作为累加器的变量。另外,从上面的例子我们可以看出, Load/Unload 不仅适用于窗体的装入与卸载,同时还适用于菜单的装入与卸载。六基本窗体的操作在前面的教程中,我们讲到了窗体的主要属性与事件,而本节我们主要讲述窗体的一些窗口运用。本节知识对于后面“多文档文件”的创建非常重要,所以希望大家好好掌握。 一、添加窗体:在 VB 中每创建一个新文件,自动会生成一个新窗体,如果想在本窗体的基础上再添加一个窗体,那么应该如何做呢? 1、选择工程/添加窗体命令,弹出如图一的窗口: 图242、选择你需要的窗体,然后点按“打开”就行了,结果可以在“工程”窗口中看到,如图25: 图25二、清除窗体:在“工程”窗口中选中欲被清除的窗体,然后鼠标右键,在弹出的菜单中选择“移除”命令。如图三: 图26三、窗体的显示属性:多窗口文件,往往是启动时打开主窗口,通过一些命令再打开其他窗口,那么,如何对窗口是否显示进行设置呢? 1、选择“工程/工程属性”菜单命令,在弹出的窗口中找到“启动对象”,然后从中选择文件打开时的主窗口是哪个,如图27: 图272、其他窗体的载入:我们可以在主窗口中设置菜单或按钮,并在该菜单或按钮的代码区输入如下代码:Form2.Show 1其中,Show 是显示窗体的一种方法,1 是窗体的显示模式即 Mode ,当值为 0 即非模态窗体时(常态窗口),允许用户在当前程序中切换到其他窗口;当值为 1 即模态窗体时,用户不能在各个窗口间切换。3、窗体在程序中的三种状态:未装入:窗体没进入程序,不占用程序资源,可以通过 Unload 方法卸载窗体。装入但不显示:可以用 Load 方法将窗体载入内存,随时准备显示。显示:用 Show 方法可以显示窗体,如果窗体已装入内存,那么直接 Show ;如果窗体还没装入内存,Show 可以先用 Lo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不锈钢宣传栏广告制作与安装合同项目2025
- 酒店服务合同示范文本
- 公司股权转让合同样本
- 2024年05月安徽合肥市疾病预防控制中心急需紧缺人才招聘80人笔试历年专业考点(难、易错点)附带答案详解
- 护士常用急救知识培训
- 液化石油气行业突发事件应对考核试卷
- 浙江省八年级历史与社会上册(人教)3.3《汉武帝时代的大一统格局》教学设计1
- 水果种植园智能监控与自动化管理考核试卷
- 供应链中的业务智能与决策支持考核试卷
- 新教材高中政治 第2单元 经济发展与社会进步 第三课 我国的经济发展 课程小结教学设计 统编版必修2
- 《活着》读后感课件
- GB/T 42768-2023公共安全城市安全风险评估
- 技术的本质(经典版)
- 2021-2022学年北京市海淀区北大附中八年级(下)期中物理试卷含答案解析
- 严重精神障碍患者管理服务规范标准
- 欧阳修课件PPT完整版
- 【典型例题系列】2021-2022学年五年级数学下册典型例题系列之第三单元最大公因数与最小公倍数部分(解析版)苏教版
- 主动脉夹层外科治疗及围术期血压管理
- D500-D505 2016年合订本防雷与接地图集
- 小学劳动教育二下第三单元 1 《水培绿萝》课件
- 高速公路收费站危险点事故隐患及控制措施
评论
0/150
提交评论