VB神童教程:跟我来学VB(图文并茂)_第1页
VB神童教程:跟我来学VB(图文并茂)_第2页
VB神童教程:跟我来学VB(图文并茂)_第3页
VB神童教程:跟我来学VB(图文并茂)_第4页
VB神童教程:跟我来学VB(图文并茂)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vb神童教程:跟我来学vbvb的故事话说二十世纪七十年代有一对好朋友,一个叫比尔(bill),一个叫鲍尔(paul)。他们经常在一起玩游戏。起初是玩别人的游戏,但玩来玩去觉得不过瘾,于是发明了一种语言,叫做basic ,自己来编写游戏。 碰巧的是,个人电脑在此时飞速发展起来,很多厂家对这种语言很感兴趣,于是这对朋友商量着成立一个公司专门出售basic。 讲到这里,大家一定猜到他们是谁了吧?没错,这个bill就是比尔盖茨,这个公司就是微软;鲍尔(paul allen)后来虽然离开了微软,但同样组建了自己的实业公司。basic正是微软公司售出的第一套软件。basic 发展到今天已经有很多版本,如

2、gw-basic 、quickbasic 、qbasic 、visual basic ,等等,其中,visual basic 是最容易学习与应用的程序语言之一。虽然最容易学习与使用,但它的功能却非常强大,很多应用程序都是用它编写出来的。不是个个都能成为比尔盖茨,但你想知道天天使用的windows的诸多功能是如何实现的吗?你想要编写自己的应用程序吗?那么,请跟我来吧,进入我们的vb神童教程之旅。学习思路曾经下过很多决心自学vb。但每次看到一行行枯燥的程序代码眼皮不自觉地就要打架。后来几乎是“头悬梁,锥刺股”才得入门。现在想来,这种入门大可不必。严谨求实的态度是非常正确的,但既然面对初学者,也许换

3、一种思路更贴切。少一些隐晦,多一些直观;少一些专业术语,多一些例子。传统的教程,多从vb的发展谈起,然后是什么编程环境、数据类型、变量、常量、函数,等等。我们可不可以换一种思路,让大家直接就可以编写出简单的应用程序,在熟悉了大部分操作并激发出了兴趣后,再去探讨一些比较抽象的东西呢?结果就有了我们的vb神童教程。在这个教程中,我们既是讲述者,也是跟大家一样的初学者,我们按着一种比较容易的方式来共同学习。课程安排我们以最为普及的 vb 6.0 为例进行教程学习,循序渐进,保证你轻松掌握。第一章:我的第一个 vb 程序“跟我来学 vb 神童教程”第二章:控件学习第一节label 控件第二节textb

4、ox控件第三节综合示例一第四节commandbutton 控件第五节单选与复选控件第六节综合示例二第七节列表框控件第八节组合框控件第九节综合示例三第十节综合示例四第十一节滚动条第十二节综合示例五第十三节timer 控件第十四节文件操作控件第十五节窗体第三章:用 visual basic 绘画:第一节图形框与图像框控件第二节综合示例六第三节直线与形状控件第四节常用的绘图方法第四章:菜单与多文档界面的制作:第一节菜单界面设计第二节综合示例七第三节动态增减菜单第四节基本的窗体操作第五节多文档程序vb神童教程第一章:我的第一个 vb 程序一、打开程序:点击桌面上的 visual basic 图标,在弹

5、出的如图一的窗口中选择“创建标准 exe”按钮。图一确定后的状态如图二图二这就是创建了一个新的“标准 exe”文件了。二、工作界面简介:默认的 vb 工作界面由标题栏(1)、菜单栏(2)、工具栏(3)、工具箱面板(4)、程序设计区(5)、项目窗口(6)、属性窗口(7)、布局窗口(8)组成,至于它们具体有什么作用,我们将在以后的实例学习中接触,这里就不予以说明。三、编写我的第一个应用程序:1、应用程序要产生的效果:创建的应用程序要有什么样的功能?这是开发每一个应用程序必须最先想到的。我们的第一个应用程序非常简单,使用者只需点击程序上的一个按钮,程序界面上就会显现“跟我来学 vb 神童教程”字样。

6、2、开发思路:根据应用程序要实现的功能,那么我们至少需要制作一个按钮、一个程序界面,为了让应用程序更规范,我们还需要创建一个用来显示“跟我来学 vb 神童教程”字样的容器。3、具体制作过程:1、创建一个新的“标准 exe”文件,如第一步所做。需要指出的是,这个以 form1 为标题栏的程序界面就是我们需要的“程序界面”,也是用户首先看到的对象,所以尽可能将其做得美观一点。当然,对应用界面的美化问题我们将在以后探讨。2、根据开发思路,现在我们来制作按钮。双击工具箱面板上的命令按钮(command button)图标,如图三:图三然后你会发现程序界面上多了一个命令按钮,如图四:图四用鼠标拖动新建的

7、按钮到适当位置,如图五:图五再创建一个标签按钮,双击如图六的图标:图六完成后程序界面如图七:图七用鼠标拖动标签按钮到合适位置,如图八:图八将鼠标放在标签按钮左右边缘任意一处,当鼠标呈左右键头时横向拖动,把标签按钮拖长,最后的程序界面如图九:图九3、对按钮属性进行设置:开发任何应用程序,在完成界面布局后,应该就每一个元素进行属性设置以达到自己的要求。当然,也可以在元素布局的过程中进行属性设置。 首先点选箭头状的“选择”图标以便进行选择,如图十: 图十选中程序界面上的命令按钮,然后找到属性面板,如图十一: 图十一其中,“名称:command1”是此按钮的名称,主要用于程序引用,所以不要用中文名字。

8、 此处,可以不修改按钮的名字,但为了程序更规范,我们将其名字改成“cmdshow”,如图十二: 图十二“caption:command1”是命令按钮的标题,也就是显示在命令按钮上的字样,我们将其改成“显示”,如图十三: 图十三用上面的方法,我们将标签按钮的名字改为“lblshow”,如图十四: 图十四将标签按钮的标题改成空字符串,也就是没有任何文字,如图十五: 图十五4、输入程序代码:我们前面讲到的元素布局、属性设置只不过是对应用程序操作界面的定制,要让程序实现功能,关键还得输入程序代码。 选中命令按钮 cmdshow ,然后双击它,弹出如图十六的程序代码输入窗口: 图十六在光标闪烁处输入代码

9、:lblshow.caption = 跟我来学 vb 神童教程(这句程序是什么意思?以后我们讲述)。如图十七: 图十七输入完毕,点击右上角的 “x” 回到对象窗口,然后点击工具栏上的“启动”按钮(快捷键:f5),可以看最终结果了!四、知识点:1、我们的第一个程序确实非常简单,但它道出了程序设计的基本方法:首先,应用程序要用来做什么?也就是开发应用程序的目的;其次,应用程序大体上由哪些元素组成?也就是应用程序的操作界面如何,如果可能,最好先用笔把程序界面画出来;然后是对程序界面中每一个元素的属性进行设置;最后输入程序代码和调试。2、前面我们所谈到的“命令按钮”、“标签按钮”,其实它们准确的说法是

10、“命令按钮控件”、“标签按钮控件”,无论是这些控件,还是刚才作为应用程序界面的“窗体”,都是“对象”,因此, vb 是一门面向对象的编程语言,每一个对象都具有很多属性,如大小、位置、标题等等。属性的设置通过属性窗口完成。3、这一点的内容不需强记,在以后的控件讲述中将会涉及。除了“命令控钮控件”、“标签按钮控件”,默认的工具箱面板上还有“指针”工具(用来选择程序设计窗口中的对象)、图片控件(在界面上添加图片)、文本框控件(在界面上显示文本或用来输入文本)、选项框控件(主要用来作为区域划分的控件,一般把相同类型的控件放置在一个选项框中,把其他类型的控件放在其他选项框中)、复选控件(用来制作复选按钮

11、)、单选控件(制作单选按钮)、组合框控件(用来制作功能更为强大的列表框,既有文本框控件的功能,还有列表框控件的功能)、列表框控件(制作各种列表)、滚动条控件(共有横向与竖直两种)、时钟控件(一般用来添加时间触发)、文件操作控件(共有磁盘列表框控件、文件夹列表框、文件列表框三种),另外,还有绘图控件、图像框控件、日期控件。4、vb 提供了丰富的控件选择,除了默认的工具箱面板上的控件外,还有很多控件没有罗列出来,我们可以通过“工程部件”命令或在工具箱面板上单击鼠标右键,在弹出的快捷菜单中选择“部件”命令,弹出如图十八的窗口:图十八本窗口罗列了当前系统中所有的控件,只需选中所需控件前面对应的复选框就

12、行了。5、编写程序应该养成好习惯,在给每一个对象命名时首先要保证规范,其次要能“望文生义”,也就是看见一个对象的名字就能知道它是做什么的,如前面我们给命令按钮控件起名为“cmdshow”,一看就知道是用来 show 的 command 类型控件。 6、我们最初进入的程序设计界面是对象界面,进入代码界面的办法很简单,前面用到的双击控件是一种办法,另外还可以通过点击项目窗口中的“查看代码”按钮进入,如果点按旁边的“查看对象”按钮就会又回到原来的对象界面。如图十九: 图十九7、在前面的例子:lblshow.caption = 跟我来学 vb 神童教程中,“”并不是数学中的等号,而是一种赋值符号,表示

13、:将“跟我来学 vb 神童教程”这个字符串赋值给 lblshow ,并作为它的标题。 另外如:x = x+6 ,在数学中,这种表达式不存立,而在 vb 中,是指在 x 本来的基础上加 6 ,然后把结果重新赋给 x ,这时 x 的值不再是原来的数字,而是加上 6 后的值。 8、程序的保存:在 vb 中进行保存,常常用“保存工程”命令,而在保存过程中,必须保存两次,一次是以 .frm 为扩展名的文件保存,另一次是以 .vbp 为扩展名的文件保存。前者是保存应用程序的窗体文件,后者是保存应用程序的工程文件。如图二十与图二十一: 图二十图二十一vb神童教程第二章第一节label 控件在第一章,我们已经

14、知道,任何一个 vb 程序都是由操作界面及与之相应的程序代码组成,而操作界面则是由诸如“命令按钮控件”、“标签控件”等控件以及窗体共同组成。从本章开始,我们进入控件的学习过程。 label(标签控件)是图形控件,主要作用在于显示文字信息,如大家比较熟悉的程序安装界面:在某个软件安装过程中,常常会显示一些帮助信息或与产品相关的介绍信息,而这些,大多是用标签控件制成的。与以后我们要学到的文本框控件(textbox)不同的是,标签控件显示的文字不能直接进行修改,要修改的话只能在设计阶段进行;文本框既可以用来显示文本,还能够在文本框中输入文本。在 visual basic 工具箱中,标签控件的图标如图

15、一所示。标签的默认名称(name)和标题(caption)为 labelx(x为1、2、3,等等),规范的命名方式为:lblx(x为自己定义的詞,如 lblshow 、lblred ,等等)图一一、标签控件的主要属性:1、caption(标题)属性:此属性用来设置在标签上显示的文本信息,可以在创建界面时设置,也可以在程序中改变文本信息,如第一章的例子中,通过点击按钮改变标签显示的字样。如果要在程序中修改标题属性,代码规则如下:标签名称.caption = 欲显示的文本如第一章在程序中改变标签 lblshow 的 caption 属性:lblshow.caption = 跟我来学 vb 神童教程

16、但是请大家注意,上面的代码应该写入供触发的控件对应的程序代码区,如第一章中,是在命令按钮的程序代码区输入的代码,而不是标签本身的代码区哟。这也是初学者常常大惑不解的地方,为什么我要让标签改变字样,却要在其他控件中输入代码?这是因为,我们是通过触发其他控件这个事件来让标签改变 caption 属性的。当然,你也可以让标签本身来触发 caption 属性改变事件,如用鼠标点击标签,这时你就需要在标签对应的程序代码区输入代码了,但在实际编写中,这种情况非常罕见。毕竟,标签控件用于显示信息的本意远远超过了响应鼠标点击的意图。2、borderstyle(边框)属性:本属性用来设置标签的边框类型,有两种值

17、可选:0,代表标签无边框;1,代表标签有边框,并且具有三维效果,如图二显示的两个标签:图二borderstyle 属性可以在设计界面时指定,如图三: 图三也可以在程序中改变(但这种应用不多见),程序代码规则:标签名.borderstyle = 0/1(0或1,两者取一)习题一:创建一个标签(lblshow)、两个按钮(cmdchange1、cmdchange2),点按 cmdchange1 ,标签有边框;点按 cmdchange2 ,标签无边框。联想:在完成本题后,你可能会想到,有没有办法用一个按钮来完成本题的功能?即鼠标点击一下,标签有边框,再点一下,标签边框消除,再点一下,边框又出现,以此

18、类推。回答是肯定的,不过,这是在以后的学习中要讲的。答案:见本节最后的答案区。3、font(字体)属性:本属性用来设置标签显示的字体,既可以在创建界面时设定,也可以在程序中改变。在创建界面时设定,如图四:图四在图四的设置界面中,除了可以选择字体,还可以设置显示文字是否为粗体、斜体、下划线等。在程序中改变 font 属性,程序代码书写规则如下:字体改变:标签名.fontname = 字体类型,其中,“字体类型”可以是中文,如“宋体”、“隶书”;也可以是英文名,如“arial”、“times new roman”,等等,不过,这些字体名称必须是电脑上有的。字体大小改变:标签名.fontsize =

19、 x ,其中,x 是阿拉伯数字,代表字体是几号字。如:lblshow.fontsize = 11 。粗体(fontbold)、斜体(fontitalic)、下划线(fontunderline)、删除线(fontstrikethru)属性的设置值是代表真/假的逻辑判断值 true/false ,如下:lblshow.fontbold = true/falselblshow.fontitalic = true/false习题二:一个标签(lblshow)用于显示文本;按钮1(cmd1)可以让标签显示的字体变成隶书;按钮2(cmd2)可以让标签显示的字体变成 13 号字;按钮3(cmd3)可以让字体

20、变成粗体。答案:见本节最后的答案区。4、alignment(对齐)属性:此属性用来设置标签上显示的文本的对齐方式,分别是:左对齐,0;右对齐,1;居中显示,2。可以在界面设置时设定,如图五:图五也可以在程序中改变,代码如下:标签名.alignment = 0/1/2 5、visible(可见)属性:本属性在大多数控件中都有,它能设定该控件是否可见。当值为 true ,控件可见;当值为 false ,控件隐藏。 控件的可见属性可以在界面设置时设定,如图六: 图六也可以在程序中改变,代码如下: 标签名.visible = true/false 习题三:一个标签(lblshow),在界面设置时为可见

21、;按钮1(cmd1),能够让标签隐藏;按钮2(cmd2),能够让标签显现。 答案:见本节最后的答案区 二、标签控件(label)的主要事件:所谓的事件,其实就是用户对应用程序的操作,如第一章中用鼠标点击命令按钮触发的 click 事件。事件的作用在于触发程序的执行,如第一章中的 click 事件改变了标签控件的 caption 属性。标签控件的主要作用在于显示文本信息,但也支持一些为数不多的事件。1、click 事件(鼠标单击):用鼠标点击标签时触发的事件,如改变标签的字体属性:private sub lblshow_click()lblshow.fontname = 隶书end sub2、d

22、bclick 事件(鼠标双击):鼠标双击引发的事件,如改变标签的可见性:private sub lblshow_dbclick()lblshow.visible = falseend sub三、知识点:1、用 vb 编写程序犹如搭积木,把每块“积木”(控件或其他对象)放在合理的位置,然后以某种机制(程序)将这些“积木”们运用起来,最后就搭成了我们需要的东西。所以,掌握每一种控件,包括它们的属性与主要事件,是我们学习编程的基础!2、某些属性是大多数控件所共有的,如 name 、fontbold、fontitalic、visible ,等等;但也有些属性是某个控件所独有的,如标签控件的 wordw

23、rap (标签的标题显示方式)。本节中我们只是讲述了部分标签控件的属性,其他属性可以在 vb 的帮助文件中查找到。3、大家在学习过程中一定会疑惑,为什么在属性设置时,“” 右边有时使用 ,有时又不使用 。不知大家注意到没有,我们在使用 时,是因为引号里面的内容是字符串,如隶书、times new roman,等等。4、字符的大小写问题:初学者还常常疑惑,字母什么时候应该大写,什么时候应该小写?其实,大写小写在 vb 程序中都是一样的,但为了让程序编写得更为规范,程序可读性更高,英文单词的第一个字母一般都要大写,如 visible 、name ,等等;控件的命名也遵循以上原则,不同的是,命名都是

24、由“控件类型名具体名字”组成的,控件类型名的第一个字母要大写,具体名字的第一个字母要大写,如 lblshow 、cmdshow 、lblchange ,等等。5、程序代码的规范:上面有这样的例子:private sub cmdshow_click()lblshow.caption = 跟我来学 vb 神童教程end subprivate sub cmdshow_click()代表一个过程,共由两部分组成,cmdshow 代表 cmdshow 这个按钮,click 代表这个按钮的触发事件。以此类推,private sub lblshow_dbclick ()也代表一个过程,lblshow 是个标

25、签,dbclick 是双击事件。另外,private 意为“私有”,表明这个事件过程的类型;此外还有 public 即“公有”事件。sub 表明这个过程是“子程序”,若干个“子程序”共同组成最终的应用程序。()里面是用来装参数的,关于参数,我们以后讲述,如果没有参数,()里面为空。四、答案区:第一题:第一个按钮的点击事件:private sub cmdchange1_click()lblshow.borderstyle = 1end sub第二个按钮的点击事件:private sub cmdchange2_click()lblshow.borderstyle = 0end sub第二题:按钮1

26、:private sub cmd1_click()lblshow.fontname = 隶书end sub按钮2:private sub cmd2_click()lblshow.fontsize = 13end sub按钮3:private sub cmd3_click()lblshow.fontbold = trueend sub第三题:按钮1:private sub cmd1_click()lblshow.visible = falseend sub按钮2:private sub cmd2_click()lblshow.visible = trueend subvb神童教程第二章第二节te

27、xtbox控件在 visual basic 操作界面中,textbox(文本框)控件所代表的图标如图一:图一textbox 控件主要用来显示文本或用来输入文本,如 windows 登陆时的“口令”窗口,或者记事本的整个编辑区域。双击工具箱中的文本框控件或者单击文本控件,然后用鼠标在 vb 的工作区域拖拉,就可以创建文本框了。如图二: 图二文本框控件的默认名称为 textx(x为 1、2、3,等等),命名规则为 txtx(x为用户自定义的名字,如 txtshow、txtfont、txtcolor ,等等)一、文本框控件的主要属性:1、text(文本)属性:本控件最重要的属性,用来显示文本框中的文

28、本内容,可以在界面设置时指定,如图三: 图三也可以在程序中动态修改,程序代码规则:文本框控件名.text = 欲显示的文本内容如要在一个名为 txtfont 的文本框控件中显示“隶书”字样,那么输入代码:txtfont.text = 隶书习题一:创建一个文本框(txtcontent)用来显示文本;按钮一(cmd1),点击时文本框内容变为“跟我来学vb神童教程”;按钮二(cmd2),点击时文本框内容清空(也就是没有内容)。答案:见答案区。2、seltext(选中文本)属性:本属性返回或设置当前所选文本的字符串,如果没有选中的字符,那么返回值为空字符串即。请注意,本属性的结果是个返回值,或为空,或

29、为选中的文本。一般来说,选中文本属性跟文件复制、剪切等剪贴板(在 vb 中,剪贴板用 clipboard 表示)操作有关,如要将文本框选中的文本拷贝到剪贴板上:clipboard.settext 文本框名称.seltext(注意,本行没有表示赋值的等号。)要将剪贴板上的文本粘贴到文本框内:文本框名称.seltext = clipboard.gettext(注意,本行有表示赋值的等号。)例:一个文本框(txtcontent),按钮一(cmdcopy)用于复制文本框中的选中文本;按钮二(cmdpaste)用于将剪贴板上的内容粘贴到文本框内。按钮一:private sub cmdcopy_click

30、()clipboard.settext txtcontent.seltextend sub按钮二:private sub cmdpaste_click()txtcontent.seltext = clipboard.gettextend sub3、selstart 与 sellength 属性:selstart ,选中文本的起始位置,返回的是选中文本的第一个字符的位置。sellength ,选中文本的长度,返回的是选中文本的字符串个数。 例如:文本框 txtcontent 中有内容如下:跟我一起学习 vb 神童教程假设选中“一起学习”四个字,那么,selstart 为 3 ,sellength

31、 为 4 。4、maxlength(最大长度)属性:本属性限制了文本框中可以输入字符个数的最大限度,默认为 0 ,表示在文本框所能容纳的字符数之内没有限制,文本框所能容纳的字符个数是 64k ,如果超过这个范围,则应该用其他控件来代替文本框控件。这跟 windows 中用记事本打开文件一样,当文件过大,系统会自动调用写字板来打开文件,而不是用记事本。文本框控件 maxlength 属性既可以在界面设置过程中予以指定,如图四:图四也可以在设计时予以改变,代码如下:文本框控件名.maxlength = x(x为阿拉伯数字,如 10、20、57,等等)。5、multiline(多行)属性:本属性决定

32、了文本框是否可以显示或输入多行文本,当值为 true ,文本框可以容纳多行文本;当值为 false ,文本框则只能容纳单行文本。 本属性只能在界面设置时指定,程序运行时不能加以改变。如图五: 图五6、passwordchar(密码)属性:本属性主要用来作为口令功能进行使用。例如,若希望在密码框中显示星号,则可在“属性”窗口中将 passwordchar 属性指定为 “*” 。这时,无论用户输入什么字符,文本框中都显示星号。如图六: 图六在 vb 中,passwordchar 属性的默认符号是星号,但你也可以指定为其他符号。但请注意,如果文本框控件的 multiline(多行)属性为 true

33、,那么文本框控件的 passwordchar 属性将不起作用。 习题二:一个文本框(txtpassword),passwordchar 属性指定为星号“*”;一个按钮(cmdshow);另外还有一个标签(lblshow),在初始状态下,caption 为空。程序目的在于,点击 cmdshow 按钮,lblshow 能显示文本框控件中输入的密码。答案:见本节后面的答案区。 7、scrollbars(滚动条)属性:本属性可以设置文本框是否有滚动条。当值为 0 ,文本框无滚动条;值为 1 ,只有横向滚动条;值为 2 ,只有纵向滚动条;值为 3 ,文本框的横竖滚动条都具有。如图七: 图七8、locke

34、d(锁定)属性:当值为 false ,文本框中的内容可以编辑;当值为 true ,文本框中的内容不能编辑,只能查看或进行滚动操作。二、文本框控件的事件:除了 click、dbclick 这些不常用的事件外,与文本框相关的主要事件是 change、gotfocus、lostfocus 事件。1、change 事件:当用户向文本框中输入新内容,或当程序把文本框控件的 text 属性设置为新值时,触发 change 事件。2、gotfocus 事件:本事件又名“获得焦点事件”。所谓获得焦点,其实就是指处于活动状态。在电脑日常操作中,我们常常用 alt+tab 键在各个程序中切换,处于活动中的程序获得

35、了焦点,不处于活动的程序则失去了焦点(lostfocus)。3、lostfocus 事件:失去焦点,详情如上。 例子:一个文本框(txtcontent),默认状态下内容为空;当获得焦点时,文本框内容显示“大家好,课程还难吗”字样;当失去焦点,文本框回到初始状态。另外再创建一个标签(lblshow),当用户试图向文本框输入文本或改变文本框本来的文本时,标签显示“标签的作用大家还清楚吗”字样。界面如图八:图八程序如下:文本框:private sub txtcontent_gotfocus()txtcontent.text = 大家好,课程还难吗end subprivate sub txtconte

36、nt_lostfocus()txtcontent.text = end subprivate sub txtcontent_change()lblshow.caption = 标签的作用大家还清楚吗end sub三、知识点:1、请记住,clipboard 指的是 windows 剪贴板,剪贴板最常用的操作是所选文本的拷贝与粘贴。拷贝:clipboard.settext 文本框名称.seltext粘贴:文本框名称.seltext = clipboard.gettext2、multiline 属性为 true 时,文本框控件的 passwrodchar 属性不起作用。3、如果要让文本框的内容自动换

37、行,只需取消文本框的横向滚动条就行了。四、答案区:习题一:按钮一:private sub cmd1_click()txtcontent.text = 跟我来学 vb 神童教程end sub按钮二:private sub cmd2_click()txtcontent.text = end sub习题二:按钮:private sub cmdshow_click()lblshow.caption = txtpassword.textend subvb神童教程第二章第三节综合示例一在前面两节里,我们学到了 vb 的操作方法,以及 label 与 textbox 控件的使用方法,现在我们用这两节学到的知

38、识来做一个简单的文本编辑器。 一、程序最终目的:用户可以在程序的编辑窗口输入文本;对输入的文本可以进行复制、粘贴、清除操作;另外,还能在两个标签上分别显示选中文本的起始位置、选中文本的长度。二、界面设置:根据程序的要求,我们需要制作一个文本框控件(txtcontent),它将做为程序的输入窗口;另外还有四个按钮,分别是复制按钮(cmdcopy)、粘贴按钮(cmdpaste)、清除按钮(cmdclear)、退出程序按钮(cmdquit);此外,还需要两个用来显示所选文本起始位置的标签一(lblstart)和显示所选文本长度的标签二(lbllength)。最终界面如图一:图一请大家仿照图一制作。三

39、、属性设置:如图一所示,但请注意,文本框控件的 multiline(多行)属性要设置为 true ,这样,文本框才能自动换行。如图二:图二四、程序书写:1、文本框(txtcontent)的鼠标事件:对文本的选择,可以理解为这样的过程:先在欲选择的文本前点击鼠标,按下左键不放,拖动鼠标直到选择文本的结束处,最后松开鼠标。这说明,松开鼠标代表着文本选择的结束,从而应该在文本框的鼠标弹起事件(mouseup)中书写代码,以改变两个标签的标题。 具体代码如下: private sub txtcontent_mouseup(button as integer, shift as integer, x a

40、s single, y as single)括号中这一长串内容大家不必管它,这主要是产生位移时的坐标变动。lblstart.caption = 起始位置: & txtcontent.selstartlbllength.caption = 文本长度: & txtcontent.sellengthend sub 注意:这个 “&”符号表示将两个字符串连接起来。另外如: a & b ,结果是 ab ;abc & efg ,结果是 abcefg ,等等。2、复制按钮的点击事件: private sub cmdcopy_click()clipboard.settext txtcontent.seltex

41、tend sub 3、粘贴按钮的点击事件: private sub cmdpaste_click()txtcontent.seltext = clipboard.gettextend sub 4、清空按钮的点击事件:private sub cmdclear_click()txtcontent.text = end sub 5、退出程序按钮的点击事件:private sub cmdquit_click()endend 在 vb 中,代表程序结束,用它可以直接退出程序。end sub 五、运行调试:按 f5 键,或者点按运行按钮,这个简单的文本编辑器可以用了吗?六、控件的一些基本操作:在 vb “

42、菜单栏”中有一个“格式”命令,通过它提供的一些功能可以让我们的工作事半功倍。1、对齐:分别是纵向对齐的“左对齐”、“居中对齐”、“右对齐”;横向对齐的“顶端”、“中间”、“底端”对齐;以及面向网格的“网格对齐”。它们的功能非常简单,你只需随意绘制几个控件,然后选择它们,再试着使用相关命令就能掌握了。如图三是随意绘制的程序界面:图三全部选中后,使用“左对齐”的结果如图四:图四也许你要问,这个对齐是以哪一个控件做为参照物的?再仔细看看图三,那个 command1 按钮四周是八个实心的黑色小点,而其他控件则是白色的小点,现在你知道了吧,正是以 command1 按钮为参照物进行对齐的,也就是说你最后

43、选择的那一个控件。2、统一尺寸:以某个控件为参照物,统一其他控件的大小尺寸。3、水平间距与垂直间距:调整某几个控件的水平间距或垂直间距。活用上面几个操作,将使你的工作事半功倍!vb神童教程第二章第四节commandbutton 控件在 visual basic 操作界面中,commandbutton(命令按钮)控件所代表的图标如图一: 图一commandbutton 控件在程序中主要作为按钮进行使用。默认的名称为 commandx(x为 1、2、3,等等),命名规则为 cmdx(x为用户自定义的名字,如 cmdcopy、cmdpaste ,等等)。一、commandbutton 的主要属性:1

44、、cancel(取消)属性:当一个按钮的 cancel 属性设置为 true 时,按 esc 键与单击此命令按钮的作用相同,因此,这个命令按钮被称为取消按钮。 在一个窗体中,只允许一个命令按钮的 cancel 属性为 true 。如图二: 图二2、default(默认)属性:当一个按钮的 default 属性设置为 true 时,按回车键与单击此命令按钮的作用相同,因此,这个命令按钮被称为默认按钮。 与 cancel 的设置一样,在一个窗体中,只允许一个命令按钮的 default 属性设置为 true ,如图三: 图三3、caption(标题)属性:跟其他控件的 caption 属性一样,都用

45、来显示控件标题的属性。这里要强调的是,作为按钮控件,用户可以给按钮控件的 caption 指定快捷方式。方法是在按钮 caption 属性中欲作为快捷键的字母前加上一个 “&” 符号,程序运行时,该字母的下面会自带一条下划线,同时按下 alt 键和带有下划线的字母,功效相当于用鼠标点击该按钮。如图四: 图四4、enabled(可用)属性:本属性决定了控件是否可用的问题。当值为 false ,按钮在程序运行时呈灰色,不能响应用户的鼠标动作;只有当值为 true ,按钮才能使用。 本属性可以在设置界面时予以指定,如图五: 图五也可以在程序中修改,代码如下: 按钮控件名称.enabled = tru

46、e/false 例一:两个命令按钮,按钮一(cmdenable)初始状态为可用,按钮二(cmdfalse)初始状态不可用。点击按钮一,按钮二变为可用,按钮一变为不可用;点击按钮二,按钮一变为可用,按钮二变为不可用。 程序界面如图六: 图六程序代码如下:按钮一: private sub cmdenable_click()cmdfalse.enabled = truecmdenable.enabled = falseend sub 按钮二: private sub cmdfalse_click()cmdfalse.enabled = falsecmdenable.enabled = trueend

47、 sub 5、style(类型)与 picture(图片)属性:也许你想让应用程序的操作界面更美观一点,也许你想在某个按钮上添加幅小图片,那么,你就得使用到本控件的 style 与 picture 属性。 铵钮控件共有两种 style ,一种是标准型(standard),vb 中用 vbbuttonstandard ,或者 0 表示;另外一种是图形型(graphical),vb 中用 vbbuttongraphical ,或者 1 表示。 style 属性可以在界面设置过程中予以指定,如图七: 图七也可以在程序中改变,代码如下:按钮名称.style = vbbuttonstandard/vbb

48、uttongraphical或者:按钮名称.style = 0/1只有当按钮的 style 设置为 graphical 类型时,按钮的 picture 属性才起作用。本属性能在指定的按钮上添加图片。可以在界面设置过程中为按钮指定图片,如图八:图八也可以在程序中进行指定,代码如下:按钮名称.picture = 图形文件所在的路径与文件名,例如:cmdpicture.picture = d:image01.jpg二、commandbutton 的事件:命令按钮最常用的事件是鼠标点击(click)事件,当点击按钮时,犹如发出了一道命令,而这也正是“命令按钮”这个说法的由来。vb神童教程第二章第五节单

49、选与复选控件在 visual basic 中,单选与复选按钮控件主要作为选项提供给用户选择。不同的是,在一组选择按钮中,单选控件只能选择一个,其他单选控件自动变为未被选中状态;而在一组复选按钮中,可以选定任意数量的按钮。 一、单选控件(optionbutton)与复选控件(checkbox)的主要属性:单选控件默认名称为 optionx(x为阿拉伯数字 1、2、3,等等),起名规则为 optx(x为用户自定义名字,如 optred、optarial,等等);复选控件默认名称为 checkx(x为 1、2、3,等等),起名规则为 chkx(x为用户自定义名字,如 chkname、chkred ,

50、等等)。在 vb 操作界面中,单选控件与复选控件的图标如图一所示: 图一以前讲到的大多数属性都适用于单选与复选控件,包括:caption、enabled、font(fontbold、fontitalic、fontname,等等)、name、height ,等等,此处不再赘述。value 属性是单选与复选控件最主要的属性,但单选与复选控件的 value 值有些微的差别。单选控件:选中时,value 值为 true ;未被选中,value 值为 false 。复选控件:选中时,value 值为 1 ;未被选中,value 值为 0 ;禁止对该按钮进行选择, value 值为 2 。请大家注意,单选

51、控件与复选控件的 value 值是不同的,而这是初学者最容易混淆的。二、单选按钮与复选按钮的事件:这两种控件最主要的事件是 click 事件,当选中时,value 值变为 true 或者 1 ,控件也自动变为选中状态。三、单选按钮程序举例:有如图二这样一个程序:图二文本框(txtcontent)显示预设的字样;单选按钮一(optarial),单击此按钮可以将文本框里显示的字样改变成 arial 字体;单选按钮二(optmodern),单击此按钮能将文本框里显示的字样改变成 modern 字体。1、单选按钮一:private sub optarial_click()txtcontent.font

52、name = arialend sub2、单选按钮二:private sub optmodern_click()txtcontent.fontname = modernend sub四、复选按钮的判断过程:复选按钮的使用跟单选按钮相似,但由于一次可以选择多个复选按钮,所以复选按钮的选择比单选按钮多了一个判断过程。这个判断过程在 vb 中可以用 ifthenelseifend if 语句完成。ifthenelseifend if 是 vb 中的块结构条件语句,主要用来针对不同的情况,让应用程序做出不同的反应。语句功能如下:if 假设情况一 then假设情况一成立时执行的语句块一elseif 假设

53、情况二 then假设情况二成立时执行的语句块二elseif 假设情况三 then假设情况三成立时执行的语句块三else所有条件都不成立时要执行的语句块end if上面的语句块含义为:如果“情况一”成立,则执行“语句块一”;否则如果“情况二”成立,则执行“语句块二”;如果所有情况都不成立,则执行 else 之后的语句块并最后跳出判断过程。例:假设输入学生成绩(score),如果分数小于 60 ,标签(lblshow)显示“成绩不及格”;如果分数大于 90 ,标签显示“成绩优秀”;如果分数介于两者之间,标签显示“成绩优良”。if score 90 thenlblshow.caption = 成绩优

54、秀elselblshow.caption = 成绩优良end if有几点必须加以注意:(1)、在上面的语句块中,elseif 之间没有空格,如果有空格即 else if ,块结构则不成立。else if 这种形式只能在单行结构条件语句中成立,而不能在块结构条件中成立。(2)、执行语句块的程序代码不能紧跟 then ,必须放到下一行中,这是块状结构的规定。(3)、在块结构判断语句中,elseif 子句的数量没有限制,可以根据需要加入任意多个 elseif 子句。(4)、elseif 与 else 都是可选的,最简单的判断语句块形式如下:if 条件 then要执行的语句块end if如:if sc

55、ore 60 thenlblshow.caption = 成绩不及格end if(5)、块结构语句必须以 if 开始,以 end if 结束。五、复选按钮举例:上面我们学习了复选按钮的判断过程,现在进入实例学习。 有如图三这样一个应用程序:图三文本框(txtcontent)显示预设的字样;复选按钮一(chkbold)可以将文本框里面的字变为粗体;复选按钮二(chkitalic)可以将文本框里面的字变为斜体;复选按钮三(chkunderline)可以给文本框里面的文字加上下划线。复选按钮一:private sub chkbold_click()if chkbold.value = 1 thentxtcontent.fontbold = trueelsetxtcontent.fontbold = falseend ifend s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论