下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VB入门教程

VB入门教程.pdf

VB入门教程

o94jyl1991
2010-11-12 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《VB入门教程pdf》,可适用于IT/计算机领域

VB入门教程第一章:Helloworld!()没学过编程的人常常会问编程难不难这个问题很难回答。难的确很难要编一个好的程序尤其是这样并且有些程序还要用到一些其他专业的知识比如说一个图形处理程序就要对图像的格式有所了解甚至一些美术知识但编程也很容易就拿VB来说编一个自娱自乐的小工具还是一件相当惬意的事情呢当然它没法完全代替人工譬如说完成你的家庭作业、向学校发射导弹……作为第四代计算机语言VB的特点是显而易见的。因为是“可视的”所以我们不妨先看看VB的界面(图)(我用的是VB位版)很容易可以看到屏幕上有五个窗口()是菜单栏()是工具箱(ToolsBox)里面是VB所需的控件()是VB程序要设计的窗体(Form)()控件及窗体的属性(Properties)在VB中每一个控件都有其自己的属性比如文本框有Text属性而任何一个控件都有一个自己唯一的名字这使得我们无需编程就可以完成部分编程的工作()是VB的文件控制窗口VB的每一个程序称为一个项目(Project)一个项目文件里往往包括以下两种文件窗体(Form)文件和模块(Bas)文件当然还有Class文件这些文件组成一个完整的程序而项目文件(Vbp)则用来描述程序所包含的内容。实际上我一直认为学习的最好方法就是实际操作一下好下面我们就来看一个最简单的程序和所有的编程教科书一样我们把第一个程序称为“Helloworld!”。第一章:Helloworld!()首先我们先来熟悉一下窗体。如果你用过Win附件所带的画图板的话那么你一定会很快熟悉VB的窗体设计方法用鼠标单击一下工具箱中的任何一个控件然后在窗体上任意拖动鼠标你就会得到一个所需的控件当然还有其他的方法得到控件你可以在工具箱上双击得到一个控件或是按住Ctrl键再单击所需控件重复第一次的步骤你会发现不用再回去点击工具箱了点右键可以恢复鼠标指针这样对于重复画同一个控件尤其有用。对于我们的第一个小程序知道这些就已经足够了。现在你可以在我们的窗体上画如下控件一个图片框(PictureBox)用来显示图画每一个控件建立的时候系统都会给它设一个默认的名字(Name)这个PictureBox的名字就叫做Picture为了方便起见我们以后的控件都使用缺省的名称。选定Picture在左边的属性窗口中找到Picture属性单击会出现点击为Picture选一个图像文件VB支持的图像文件有BitMap、WMF、ICO三种微软为用户提供了一套图标文件存放在VB目录的Icons目录下选择Iconsmiscfaceico文件这样图标就被装入了Picture。再选择Pictrue的Autosize属性设为True则会发现Picture以变成和图像一样大了把BorderStyle定为None去掉图片边框。用同样的方法再添加两个图片框:Picture(Picture:faceico)Picture(Picture:faceico)。图片框完成了第二步建立三个无线钮(OptionButton)由于它象收音机的无线电按钮而得名)把它们的标签名属性(Caption)分别定为“悲哀”“高兴”“没治了”放置成图的样子。第一章:Helloworld!()最后我们还需要三个文本框(TextBox)分别把它们的Text属性设为””(空字符串)程序的最后界面如图这样按下菜单窗口的运行按钮运行一下程序还可以吧不过现在程序还无法工作就算是VB也不能免俗还必须输入代码才能使程序运作。VB是一门典型的面向对象编程的语言它的整个程序都是由事件驱动的。那么什么是事件呢?其实我们的生活中充满了各式各样的事件比如说“闯红灯”这个事件的发生会导致被警察追杀、走路撞到电线杆时会痛。上面的例子虽然有些滑稽但它可以清楚的解释事件的含义就象你马上就能体会到的在什么地方单击鼠标时会发生什么按下键盘时会发生什么这就是事件而事件就是这么容易。要进入VB的代码设计区只需在需要的控件或窗体上双击鼠标即可得到这样的窗口。如图每一个VB程序都由若干小程序组成这使得用VB编程更加容易这些小程序分为“过程”(Procedure)和“函数”(Function)二者都可以传递参数所不同的是函数有一个返回值而过程没有仅此而已。双击窗体的任何一个部分将出现一个空的过程:“FormLoad()”这是一个非常重要的过程它所驱动的事件就是该窗体被加载的事件打个比方就象计算机启动时的批处理程序(Autoexecbat)。这个程序里我们要对控件进行一些设置。我们刚才也曾对控件进行设置但那是在程序设置中进行的有时我们也需要在程序中改变某些控件的属性通过程序代码。VB中规定一个控件属性的访问方法:名称属性于是我们对本程序的控件进行如下设置:PrivateSubFormLoad()PictureVisible=FalsePictureVisible=FalsePictureVisible=FalseTextVisible=FalseTextVisible=FalseTextVisible=FalseEndSubPrivate表示此过程是局部的Sub表示子过程的开始与之相对的是EndSub表示过程的结束Visible属性表示控件的可见性这个属性的值有两个True和False。注意:VB里对大小写是不加区分的而且已定义的名称以后再用到时系统会自动把它变成相应的大写或小写。小知识:VB里的对变量及常量的规矩。变量一般为Abc的格式常量为ABC另外这些变量和常量名不得同VB内的关键字相同也不可以使用一些特殊符号这些我们将在以后介绍注意在学习中养成好习惯使程序便于自己和别人的浏览。程序书写的窍门:不要真的一句一句把程序打完利用快捷键:拷贝CtrlC剪切CtrlT粘贴CtrlP。按下F运行一下程序现在发现只剩下无线钮了。如图但现在Option是被选定的为了使三个无线钮都处于未选定状态我们使一个小“猫腻”。无线钮的特殊之处就在于在同一个窗体内只能有一个被选定它是否被选定可以改变Value属性实现而即使窗体内所有无线钮的Value属性都是False系统还是会选一个作为已选定。为此我们可以在窗体内再建立一个无线钮Option在刚才的代码下再添加两句话:PrivateSubFormLoad()PictureVisible=FalsePictureVisible=FalsePictureVisible=FalseTextVisible=FalseTextVisible=FalseTextVisible=FalseOptionLeft=OptionValue=TrueEndSubLeft属性表示控件离窗体左边框的距离设置为-则在窗体内不会看到这个控件并使之Value=True。再运行程序一切如愿如图。注意:为什么不用OptionVisible=False?因为一旦设置无线钮为不可见那么再使它的Value为真是没有意义的不信自己试试。下面我们可以继续进行了。在刚才的代码窗口里将Object选择为OptionProc选择为Click即得到一个OptionClick的过程。代码如下:PrivateSubOptionClick()PictureVisible=TruePictureVisible=FalsePictureVisible=FalseTextVisible=TrueTextVisible=FalseTextVisible=FalseTextText="再见残酷的世界。"EndSub相同的建立OptionClick和OptionClick:PrivateSubOptionClick()PictureVisible=TruePictureVisible=FalsePictureVisible=FalseTextVisible=TrueTextVisible=FalseTextVisible=FalseTextText="今天心情不错。"EndSubPrivateSubOptionClick()PictureVisible=TruePictureVisible=FalsePictureVisible=FalseTextVisible=TrueTextVisible=FalseTextVisible=FalseTextText="Hello,World。"EndSub好我们的开山之作完成了!按下F玩一下吧。这个程序虽然简单但也用到了许多基本知识你开始感兴趣了吗?^^第二章:事件、属性及数据类型()以后两章可能会比较枯燥但不可否认也很重要所以为了学好VB我们一定要打好基础才行。一、事件通过上一章的例子你可能对“面向对象的编程”已经有了一定了解它是由事件驱动的对于不同的对象所能感应到的事件也会不同譬如说当你把鼠标移进某一区域时就会触发MouseMove事件这很直观也容易理解但也有些事件比较抽象下面我来对一般的事件进行一下解释。窗体和图象框类事件Paint事件:当某一对象在屏幕中被移动改变尺寸或清除后程序会自动调用Paint事件。注意:当对象的AutoDraw属性为True(-)时程序不会调用Paint事件。Resize事件:当对象的大小改变时触发Resize事件。Load事件:仅适用于窗体对象当窗体被装载时运行。Unload事件:仅适用于窗体对象当窗体被卸载时运行。当前光标(Focus)事件GotFocus事件:当光标聚焦于该对象时发生事件。LostFocus事件:当光标离开该对象时发生事件。注意:Focus英文为“焦点”、“聚焦”之意最直观的例子是比如有两个窗体互相有一部分遮盖当你点下面的窗体时它就会全部显示出来这时它处在被激活的状态并且标题条变成蓝色这就是GotFocus事件而相反另外一个窗体被遮盖并且标题条变灰称为LostFocus事件。上面所说的“光标”并非指鼠标指针。鼠标操作事件Click事件:鼠标单击对象。DbClick事件:鼠标双击事件。MouseDown、MouseUp属性:按下放开鼠标键事件。MouseMove事件:鼠标移动事件。DragDrop事件:拖放事件相当于MouseDown、MouseMove和MouseUp的组合。DragOver事件:鼠标在拖放过程中就会产生DragOver事件。键盘操作属性KeyDown、KeyUp事件:按键的按下放开事件。KeyPress事件:按键事件。改变控制项事件Change事件:当对象的内容发生改变时触发Change事件。最典型的例子是文本框(TextBox)。DropDown事件:下弹事件仅用于组合框(ComboBox)对象。PathChange事件:路径改变事件仅用于文件列表框(FileBox)对象。其他事件Timer事件:仅用于计时器每隔一段时间被触发一次。二、属性每个对象都有它的属性并且“Name”属性是共有的有了“Name”属性才可以在程序中进行调用。对于属性可以在窗体的布局操作中完成也可以在程序运行中改变这取决你的需要但有些属性是只读的它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。三、数据类型学过编程的人都知道大多数的计算机语言都规定了各自的数据类型VB也不例外。其实在一个最简单的程序中数据类型是可以不作规定的也就是说变量可以使用各种类型但是在一个复杂的程序里这样做就很危险因为很可能给同一个变量赋予了不同的类型而导致程序出错。所以为了程序的严谨和便于查看正确的定义数据类型是必要的。定义数据的另一个原因是不同的数据占用不同的内存数量譬如整型(Interger)数据占字节而长整型数据占个字节定义合适的数据类型不管你相信不相信它可以节省内存!VB常用的数据类型有:整型(Integer表示至之间的整数)、长整型(Long表示,,,至,,,之间的整数)、实型(Single表示E至E之间的实数)、双精度实型(Double表示E至E之间的实数)字符(String每个字符占一字节可以储存~,个字符)布尔(Boolean只有两个值True或False)。数据类型的定义方法:定义变量最简单的方法是用“Dim”关键字它的语法:Dim【变量名】As【数据类型】如:DimIndexAsInteger也可以在一行中定义多个变量如:DimIndexAsInteger,DimNumberAsLong把多个变量定义成同一类型可以写成:DimIndex,NumberAsInteger有时为了简便也以符号进行简单的定义作用是和上面一样的。整型可以用“”代替长整型可以用“”代替实型可以用“!”双精度实型可以用“#”定义如刚才的第一个例子可以写成:DimIndex等价于DimIndexAsInteger对于常量的定义用Const定义如:ConstCOLOR=。为了在程序中便于查阅我们对变量和常量的写法进行规定变量一般用小写方式常量则全部大写。注意:使用常量的好处对于程序中经常出现的数值应设常量等于它这样一是书写方便其二如果要改变该数值只需改变定义常量的语句值而不需改变每个语句提高了效率。数组的定义类似于变量定义所不同的是数组需要指定数组中的元素个数例如:DimIntegerArray()AsInteger这个数组中包含个元素脚标从到。也可以指定脚标的起始值例如:DimIntegerArray(to)AsInteger这个数组含有九个元素脚标从到。还可以定义多维数组:DimThreeD(,to,to)AsInteger上例定义了一个三维数组(××)。记录的定义记录定义是把控制权交给用户的方法它让用户可以定义自己的数据类型它使用关键字“Type”方法是:Type【数据类型标识符】<域名>As<数据类型><域名>As<数据类型><域名>As<数据类型>…………………………EndType例如定义一个地址数据:TypeAddressStreetAsStringZipCodeAsStringPhoneAsStringEndType这个地址数据里包括三个属性街区、邮政编码和电话可以把某数据定义成此类型:DimMyHomeAsAddress要调用或改变“MyHome”的值时类似于对对象的属性的操作:变量名域名=“……”为了简化书写重复的部分,可以用关键字“With”:WithMyHomeStreet=”阜成路”ZipCode=””Phone=””EndWith第三章:VB语言()本章提要:VB语法与Basic的异同注释语句长语句的分行条件语句循环语句运算操作数据定义与赋值函数和过程一、VB与BasicVB之所以叫做“VisualBasic”就是因为它使用了Basic语言作为代码所以它们之间有着千丝万缕的关系如果学过Basic的话看到VB的程序结构会感到很亲切。但VB作为新生物也超越了Basic的限制有了许多自己的特点:VB建立了一种新的变量类型――货币型变量通过使用仅带有二位小数的货币变量就能避免因使用实型变量而带来的数值积累误差问题。VB在调用函数(Function)时必须在函数名后跟一对括号。VB对白兰地使用范围重新做了规范在Basic里把隐含变量都当作全局变量而在VB里对隐含变量都当作局部变量。VB里的说明语句(Declare)仅支持动态链结库(DLL)的子程序和无变量函数。使用数组必须事先用Dim或Redim进行定义。二、注释语句在使用注释语句之前必须先了解注释的作用注释不仅仅是对程序的解释有时它对于程序的调试也非常有用譬如说可以利用注释屏蔽一条语句以观察变化发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在VB里注释语句有两种一种是用“Rem”关键字这跟DOS里的批处理文件的用法一样还有一种是利用单引号“’”例如:‘DimaAsString与RemDimaAsString的作用是一致的。三、长语句的分行在比较早的版本中因为没有象C等语言用“”隔开语句与语句VB的语句是必须写在一行里的不过后来版本的VB里如许用分行符“”把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话都会知道在程序里控制其流程的有两种语句条件与循环VB自然也不例外其实不管哪种语言条件和循环的样子都差不多只不过各有各的规矩罢了。在条件语句里我们先来学习“If……Then……”语句。它的一般语法是:If<条件>Then<语句><语句>………EndIf与C语言不同VB的条件语句更符合英语的语法如果Then后面所跟的语句只有一条可以写成:If<条件>Then<语句>而不用EndIf。有时我们还会用到If<条件>Then<语句>Else<语句>EndIf更可以在Else里在嵌套If语句如:If<条件>Then<语句>ElseIf<语句>Else<语句>EndIf所有这些可以用一个表格表示:条件TrueFalse条件TrueFalse条件TrueFalse………………………条件NTrueFalse语句语句………语句N语句N+用了过多的Else后你会感到很不方便而且程序结构也不清晰所以大多数的语言还有Select语句帮助解决这个问题。VB里的Select语句的格式是这样的:SelectCase<变量名>Case<情况>……Case<情况>……Case<情况>………………CaseElse……EndSelect例如:SelectCaseaCasePrint“a=”CasePrint“a=”CaseElsePrint“adoesnotequaltoor”EndSelect五、循环语句循环结构是计算机语言里一种重要的结构它的应用广泛最简单的例子是累加器的作用还可以用于穷举法更直观的例子是把某件事重复指定的次数这样就不用把要重复的语句输入多次而通过循环结构完成非常方便。C语言里有一个“for”循环语句VB里也有“For”关键字作用也差不多只是VB的“For”语句更容易理解。它的格式是:For<循环变量>=<初赋值>To<终值>Step<步长>…………Next<循环变量>在默认情况下Step被设为“”可以省略Step也可以设为负值例如:Dima=ForI=Toa=aINextI这是一个最简单的累加器的例子把到累加在一起然后赋值给“a”这样的效果和上面是一样的只不过是倒着加罢了请看:Dima=ForI=ToStep–a=aINextIWhile语句也是一个很常用的循环语句它的形式很多。DoWhile……Loop语句While……Wend语句Do……LoopWhileWhile后面都跟逻辑条件判断“DoWhile……Loop语句”和“While……Wend语句”作用相似都是先判断While后面的条件是否为“真”如果为“真”则执行里面的语句如果为“假”则退出循环循环直至条件为“假”终止。“Do……LoopWhile”与前两者的区别在于它不管条件的真假都会先执行“Do”后面的语句也就是说它至少执行语句一次。与While用法相似的还有Until语句它是直至条件为真则终止循环句式把While上述三个语句的While换成Until即可但是因为容易记混所以我建议只用While即可。Until<条件>可以相当于WhileNot<条件>。For循环和Whlie循环应当根据适当的环境使用它们有时也可替换。六、运算操作数学运算+:加法运算也适合于字符串的之间的合并运算。-:加法运算。*:乘法运算。:除法运算。:整除运算。Mod:求余运算。例如:aModb表示a被b整除以后的余数。^:幂运算。A^B表示以A为底的B次方。关系运算关系运算也称比较运算它表示不等式的真或假VB共提供六种运算符分别是=(等于)>(大于)<(小于)>=(大于等于)<=(小于等于)和<>(不等于)。逻辑运算逻辑运算是对真或假的运算我将列表说明:ABNotA非And与Or或Xor异或Eqv相等Imp蕴含TTFTTFTTTFFFTTFFFTTFTTFTFFTFFFTTT――TrueF――False七、数据与定义本标题的内容已经在上一章向大家详述过在这里就不再重复。八、函数与过程函数与过程有许多相似的地方它们之间最大也是最本质的区别就在于函数有一个返回值而过程只是执行一系列动作所以可以简单的把函数理解成为一个变量而VB中的每个事件都是一个过程比如CommandClick()就是一个过程。因为在程序设计中经常会有重复的地方所以把它做成一个函数或一个过程在使用时进行调用可以节省大量的输入代码的时间而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数也可以没有参数。关于函数和过程我将在以后的章中配合实例讲解请您继续留意VB教程第四章:按钮()从本章开始我们将正式进入VB的编程世界但这还仅仅是个开端要编出功能强大的软件还要学很多东西那就要看以后的VB高级教程了我也得努力学啊!按钮是我们在Windows操作见到最多的控件它们有着各种各样的功能:“确认”、“取消”、“下一步”等等这些都是按钮的表现另外还有很多图形话的按钮其实它们并没什么不同所有的按钮都是通过单击(click)事件实现的只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮双击工具箱的CommandButton将在窗体上建立一个形如图-的按钮它的缺省名(Name属性)为Command我们可以把它改名为cmdExit把Caption属性设为“退出”然后双击按钮填写代码:PrivateSubcmdExitClick()UnloadMeEndSub按下F或者工具条上的播放按钮运行程序。图-当你按下退出按钮的时候就会自动退出程序原因是当你单击按钮时激活了它的Click事件执行“UnloadMe”语句使得窗体被卸载。上面举了一个比较简单的例子下面的例子稍微复杂些:新建窗体控件布局如图-所示包括一个List控件一个Text控件和两个按钮(Command和Command)(比较简单的程序我们都采用缺省名)对它们属性做如下修改:ListCaption=“请输入你的名TextText=“”(空字符串)TextText=“”(空字符串)ButtonCaption=“复原”Enabled=FalseButtonCaption=“清除”把使用Button的Enabled属性设为False(假)是使程序在初始时无法单击Command。按F运行程序图-复原按钮成为灰色不可选。当然现在程序还什么也不能做下面我们在程序中添加代码:首先在General里声明全局变量:DimStoreStringAsString'用来储存字符串※注意:为什么用全局变量?VB里每一个小过程都相当于一个程序程序里的变量称为局部变量是只能在程序内部使用的而当程序调用结束后由于从内存中被清除所以变量储存的值也就消失了这里的全局变量是用来在过程中传递字符串。接着填写以下代码:PrivateSubCommandClick()TextText=StoreStringCommandEnabled=FalseEndSubPrivateSubCommandClick()StoreString=TextTextTextText=""'清除CommandEnabled=TrueEndSub运行程序如图-。按下“清除”文本框被清除按下“复原”文本有被恢复许多程序中的UndoRedo就是利用这个原理实现的现在知道为什么内存越多越好了吧。我们在把程序修改一下把Button删除Button的Enabled属性改为TrueCaption改为“清除”填写代码:PrivateSubCommandClick()IfCommandCaption="清除"ThenStoreString=TextTextTextText=""'清除CommandCaption="复原"ElseTextText=StoreStringCommandCaption="清除"EndIfEndSub同样可以上面的功能但是却少用了一个控件控件使用少的程序启动会快些。下面的例子要更加复杂些大家一定都用过Windows附件中的计算器它是一个标准的科学计算器利用VB我们也可以做到只是没有那么复杂四则运算而已。先建立一个新的项目文件里面包含一个Form的窗体。然后添加控件包括一个Text框(Text)和个按钮这个按钮使用的名称都是Command只是Index属性不同就好象一个数组创立一组按钮的方法是先在窗体上建立一个按钮(Command)然后在Command上击鼠标右键选择复制(Copy)然后在窗体上任意部位击右键选择粘贴(Paste)系统会提示是否创建控件组选择“是”重复上面步骤直至创立个按钮为止。各控件属性如下表:TextBackColor=HCFFFFText=“”IndexCaption=“”IndexCaption=“=”IndexCaption=“”IndexCaption=“”IndexCaption=“×”IndexCaption=“÷”IndexCaption=“清除”如果想改变一些其他的属性比如字体可以自己定义一下Font属性如果相对多个控件的共同属性进行改变可以在窗体上按下鼠标拖动把多个控件一起选定然后对它们的共同属性进行修改。别看这个东西小还费了近我两个小时呢不觉大叹手生里面也有些地方很绕弯子我尽量解释清楚。在编写程序之前我们先来回顾一下计算器的使用。按下数字键在液晶屏上会出现数字这是最基本的功能。第一次按下运算键再按下数字键将重新输入第二个数字再次按下运算键将算出前两个数的结果然后按下数字键将又重新输入新的数字。输入数字后按下“等于键”将仍输出原来的数字输入运算符和第二个数字后在按下“等于”将得到二者的结果。然后又重复第二、三步。按下“清除”数据被全部清除。了解了这些我们一步一步实现。先实现数据的输入请看代码。与未创立组的控件相比它的事件里多了Index参数组里所有的对象都使用同一个事件。先在General里声明窗体级全局变量:DimNum,NumAsSingleDimStrNum,StrNumAsStringDimFirstNumAsBoolean'判断是否是数字开头因为Text里是存放字符串的所以要把输入的数据进行运算必须把字符型变量转变为实型变量分别用Num、Num和StrNum、StrNum进行存放。在FormLoad事件里给变量初赋值:Num=Num=StrNum=""StrNum=""FirstNum=True因为个按钮使用的是同一事件所以我们用一个SelectCase语句区分各个按钮双击任意按钮输入代码:PrivateSubCommandClick(IndexAsInteger)SelectCaseIndexCaseToIfFirstNumThenStrNum=Str(Index)’实型转字符型FirstNum=False’初赋值为假Else’非初赋值StrNum=StrNumStr(Index)EndIfTextText=StrNum’显示<还有其他语句等待插入>EndSelectEndSub运行程序的话已经可以输入数据下面我们来处理小数点。在General里声明新的变量:DimPointFlagAsBoolean'判断是否已有小数点我们知道小数点只能输入一次一个数据中不能有多个小数点存在所以需要一个布尔变量做判断。在FormLoad里进行初赋值:PointFlag=False在Command的单击事件里接着上面输入新的代码:CaseIfNotPointFlagThen’如果没有小数点IfFirstNumThen’如果是第一个字符StrNum=""FirstNum=FalseElseStrNum=StrNum""EndIfElse’已有小数点ExitSub’则退出单击事件EndIfPointFlag=TrueTextText=StrNum下面会复杂一些我们先跳过等号而来处理四则运算:先在General里声明新变量:DimRunsignAsInteger'储存运算符号DimSignFlagAsBoolean'判断是否已有运算符号然后在FormLoad中进行初赋值:Runsign=SignFlag=False在接下的CommandClick中继续输入代码:CaseToFirstNum=True’使下一次可以输入新数据PointFlag=False'还原标记值IfSignFlagThen’前面已有运算符未运算CallRunElseSignFlag=TrueStrNum=StrNum’把字符串复制给字符串StrNum=""’字符串清空EndIfRunsign=Index‘储存键入的运算符里面运算的部分我用了一个过程是因为在按下等号时还会调用到运算过程这样可以减少代码的输入也使程序便于浏览。建立过程(Procedure)可以在General部分直接输入也可以通过菜单里的“AddProcedure”添加。Run的代码如下:SubRun()Num=Val(StrNum)Num=Val(StrNum)SelectCaseRunsignCase’加equal=NumNumCase’减equal=NumNumCase’乘equal=Num*NumCase’除equal=NumNumEndSelectStrNum=Str(equal)StrNum=StrNumTextText=StrNumEndSub下面是其余的代码:(在CommandClick事件里接着写)CaseIfNotSignFlagThenTextText=StrNumequal=Val(StrNum)FirstNum=TruePointFlag=FalseElseCallRunSignFlag=FalseEndIfCaseElse’清除按钮CallClearData里面又用到了一个ClearData过程实际上就是FormLoad里的变量初赋值代码如下:SubClearData()Num=Num=StrNum=""StrNum=""FirstNum=TruePointFlag=FalseRunsign=SignFlag=FalseTextText=""EndSub这样完整的程序就完成了本章介绍了VB的第一个控件――按钮并且举例希望你继续看下一章――菜单。下面给出完整的程序代码:DimNum,NumAsSingleDimStrNum,StrNumAsStringDimFirstNumAsBoolean'判断是否是数字开头DimPointFlagAsBoolean'判断是否已有小数点DimRunsignAsInteger'储存运算符号DimSignFlagAsBoolean'判断是否已有运算符号SubClearData()Num=Num=StrNum=""StrNum=""FirstNum=TruePointFlag=FalseRunsign=SignFlag=FalseTextText=""EndSubSubRun()Num=Val(StrNum)Num=Val(StrNum)SelectCaseRunsignCaseequal=NumNumCaseequal=NumNumCaseequal=Num*NumCaseequal=NumNumEndSelectStrNum=Str(equal)StrNum=StrNumTextText=StrNumEndSubPrivateSubaboutClick()MsgBox"Createby周晓阳。",vbDefaultButton,"VB教程第四章范例"EndSubPrivateSubCommandClick(IndexAsInteger)SelectCaseIndexCaseToIfFirstNumThenStrNum=Str(Index)FirstNum=FalseElseStrNum=StrNumStr(Index)EndIfTextText=StrNumCaseIfNotPointFlagThenIfFirstNumThenStrNum=""FirstNum=FalseElseStrNum=StrNum""EndIfElseExitSubEndIfPointFlag=TrueTextText=StrNumCaseToFirstNum=TruePointFlag=False'还原标记值IfSignFlagThenCallRunElseSignFlag=TrueStrNum=StrNumStrNum=""EndIfRunsign=IndexCaseIfNotSignFlagThenTextText=StrNumequal=Val(StrNum)FirstNum=TruePointFlag=FalseElseCallRunSignFlag=FalseEndIfCaseElseCallClearDataEndSelectEndSubPrivateSubFormLoad()CallClearDataEndSub按钮还有两个重要的属性Default(默认属性)和Cancel(取消属性)两个属性都以布尔赋值把Default设为True则在按下回车键时不论焦点处于何处都会触发该按钮的Click事件而当Cancel属性被设为True在按下ESC键时该按钮的Click属性发生。下面举个例子:建立一个新窗体和两个按钮Name属性分别为cmdOK和cmdCancel把前者的Default设为True后者的Cancel设为TrueCaption属性分别为OK和Cancel。如图-。填写代码后运行:PrivateSubcmdCancelClick()MsgBox"Cancel按钮被按下",vbDefaultButton,"提示"EndSubPrivateSubcmdOKClick()MsgBox"OK按钮被按下",vbDefaultButton,"提示"EndSub结果如图-、-:快捷键大家一定都知道在VB如何实现呢。其实很简单在刚才的例子里在建立一个按钮Command把它的Caption属性设为ClickME如图-在M的下面有一条下划线运行程序当你按下AltM的时候就触发了CommandClick事件:PrivateSubCommandClick()MsgBox"ClickME按钮被按下",vbDefaultButton,"提示"EndSub据我所知有许多用户有使用快捷键的习惯注意细节上的问题能够使将来你的程序得到更多人的欣赏不是吗?第五章:菜单()我们经常在Windows操作里遇到各种各样的菜单菜单的操作把各种命令结构化、分分类化也节省了命令所占的空间从作用上来讲菜单类似于按钮但它只有一个事件――Click。VB作为Windows下的可视编程工具菜单的设计当然很容易实现VB按下CtrlMVB以上的版本请按下CtrlE便可呼叫出菜设计的窗口无论VB的版本这个窗口的样式是大同小异的请见图-。前面说过菜单相当于简单的按钮它有几个属性其中的大部分我们都曾经见过包括Name、Caption、Index、Checked、Enabled、Visible、快捷键和热键等等。其中Name是必须的。下面请跟我一起设计第一个菜单。首先在Caption添入“文件”Name为“mnuFile”按下Next按钮这样就建立了第一级菜单注意菜单设计窗口的左中有四个箭头按下向右的箭头出现了一排小点如图-在VB里这叫缩排这样就可以开始建立第二级菜单。小知识:实际上我们在生活就中经常用到缩排写文章时开头要空两格就是一种缩排在编写程序时更需要缩排这样使程序结构化便于观察当然菜单设计里的缩排有更多的用处。接着填写下一菜单项Caption为“新文件”Name为“mnuFileNew”按下Next键。小知识:VB一共如许建立级子菜单如图-尽量不要建立这样的菜单要知道藏在越深处的菜单项越难以被人发现一个友好的程序界面应该让用户马上找到需要的命令。接着重复以上步骤创建以下三个菜单项:Caption保存NamemnuFileSaveLevelCaption另存为NamemnuFileSaveAsLevelCaption载入NamemnuFileLoadLevel我们在菜单里还经常看到把不同项分开的分隔条在VB里也很容易做到把Caption设为“”(减号)Name为mnuBar。最后增加这个菜单条的最后一项Caption为“退出”Name为mnuFileExit。现在可以退出菜单设计窗口菜单如图-。怎么样经过几章的学习是不是觉得Windows世界也不是那么神秘?也对也不对。的确我们很轻易的实现了这么多的功能但如果你仔细想想我们的程序还什么也不会做呢!可以说是徒有其表要实现强大的功能恐怕要学很长很长时间而现在仅仅是个开头并不是想入非非的时候我们还要继续努力!现在再次按下CtrlE重回菜单设计窗口接着添加菜单。(按下向左的箭头可以使菜单上升一级Level代表菜单的级别)根据下表添加新的菜单项:Caption编辑NamemnuEditLevelCaption剪切NamemnuEditCutLevelShortCutCtrlXCaption复制NamemnuEditCopyLevelShortCutCtrlCCaption粘贴NamemnuEditPasteLevelShortCutCtrlVCaption关于NamemnuAboutLevel其中ShortCut就是平常我们说的热键你可以在菜单设计窗口中找到设置一个你需要的组合键这样不论窗口的焦点处于何处菜单在第几层只要按下热键就相当于调用了该项的Click事件。结果如图-。从Win以来程序里引入了鼠标右键功能使鼠标有了更大的用处在VB里我们也很容易实现。打开FormMouseDown事件该事件有两个参数:Butt

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/16

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利