第二章常用的窗体控件2.1VB中的有关概念2.2建立简单的应用程序2.3基本控件和属性2.4工程的管理及环境的设置12.1对象的有关概念1.类类是创建对象实例的模板,包含了创建对象的属性描述和行为特征的定义。例如:文本框、标签、按钮等等2.对象是类的一个实例,继承了类的属性、方法。例如:某个特定的按钮。VB中常用的对象有:窗体、控件、打印机、剪切板等。3.对象的建立、选定、复制、删除(Delete)和命名建立:既可以先选定再画,也可以直接双击,注意其快速排列方法(例如:对齐和间距)选定:包括选定一个对象和多个对象复制:目的是为了创建多个具有相同属性的对象,以增加速度(例如:大小、字体、颜色等)。注意,是否想创建控件数组命名:必须以字母或者汉字开头,由字母、汉字、数字串组成,长度不超过255个字符。14.对象的三要素(1)属性对象的性质,即用来描述和反映对象特征的参数。例如:大小、颜色、边框类型、显示内容等等(2)方法对象的行为,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。(3)事件响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。12009-3-52.2建立简单的应用程序(乘法运算器)建立VB应用程序的步骤:1.建立用户界面的对象;2.对象属性的设置;3.对象事件过程及编程;4.程序运行和调试;结束程序死循环的方法:Ctrl+Break5.保存文件。1VB的三种模式——设计模式、运行模式、中断模式•设计模式[设计]进行程序的界面设计、属性设置、代码编写等。•运行模式[运行]执行“运行/启动”命令,可以查看程序代码,但不能修改•中断模式[中断]当在运行模式,按了“中断”命令或当程序出现运行时错误时进入中断模式。可以查看代码、修改代码、检查数据。2.3基本控件和窗体一、常用属性1.Name名称属性——每个控件必须具备的属性创建的对象名称,有默认的名。在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。2.Caption标题属性——控件上显示的内容。3.Height、width、top和left属性(单位由窗体的ScaleMode来决定)LeftTopHeightWidth24.Enabled属性控件是否可操作。当设置为false时,呈暗淡色,,禁止用户进行操作5.Visible属性控件是否可见。当设置为false时,用户看不到,但控件本身存在。6.Font属性(分清哪些是字符型、数值型、逻辑型)Fontname:字体(值为字符型);Fontsize:字体大小(值为数值型);Fontbold:是否粗体(逻辑型);Fontitalic:是否斜体(逻辑型);Fontstrikethru:有无删除线(逻辑型);Fontunderline:有无下划线(逻辑型)以上属性也可以记为Font.Name、Font.Size、……2当心Text1.FontName=楷体(×)Text1.FontName=“粗体”(×)Text1.FontSize=小四(×)(五号-10.5、小四-12、四号-14.25、小三-15、三号-15.75)7.Forecolor/Backcolor前景/背景颜色属性值的类型既可以是十六进制的颜色值(既可以直接从调色板中选择颜色,也可以利用代码进行设定),也可以是VB提供的颜色常数(利用代码进行设定)。颜色常数和颜色值的对应关系为:常数值描述vbBlack&H0黑色vbRed&HFF红色vbGreen&HFF00绿色vbYellow&HFFFF黄色vbBlue&HFF0000兰色vbMagenta&HFF00FF洋红vbCyan&HFFFF00青色vbWhite&HFFFFFF白色例如:将文本框Text1的背景色设定为红色的代码为Text1.BackColor=VBRed或:Text1.BackColor=&HFFVB中的三种颜色表示方法:VBRed这样的颜色常数、QBColor(0)到QBColor(15)共16色、RGB(0,0,0)到RGB(255,255,255)28.Backstyle背景风格属性0-transparent:透明显示,即控件背景颜色显示不出来。9.BorderStyle边框风格属性0-None:控件周围没有边框。1-FixedSingle:控件带有单边框。10.MousePointer/MouseIcon属性注意:MousePointer为99时MouseIcon属性才生效11.Alignment属性控件上正文水平对齐方式0:正文左对齐;1:右对齐;2:居中。12.AutoSize属性控件是否根据正文自动调整大小,False213.TabIndex属性决定了按Tab键时,焦点在各个控件移动的顺序。各个控件默认TabIndex值就是以控件建立时的顺序,第一个为0,可以改。课外阅读:焦点与Tab顺序.doc14.控件默认属性(又名控件的值)反映该控件最重要的属性,使用时可省略属性名。课外阅读:VB控件的默认属性.doc2标题图标控制菜单框最小化按钮最小化按钮边框样式二.窗体1.属性Caption标题MaxButton、MinButtonIcon、ControlBoxPicture、AutoRedrawBorderStyle(012345)WindowsState(0-正常、1-最小化、2-最大化)2.事件Click、DblClick和Load3.方法Print、Cls和Move等2三、标签Label用于显示文本(输出)信息,不能让用户编辑。演示:带阴影标签的制作四、文本框TextBox是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。1.其他属性Text:正文内容;Maxlength:设置正文的最多字符个数,0任意长度值(最大32K);MultiLine:是否为多行,默认为一行ScrollBars:表示滚动条的形式(MultiLine为True时,该属性才有效)0-None、1-Horizontal、2-Vertical、3-Both;Locked:是否可被编辑属性。PassWordchr:口令字符SelStart、SelLength、SelText:从第几个字符的后面开始选、长度、内容。(从第一个字符开始选,应当设定SelStart=0)演示:用户选中内容的读取和计算机选中指定内容22.常用事件•Change:文本框的Text属性发生改变时引发的事件在该事件过程中Printtext1,打印的内容包括刚刚输入的字符•KeyPress(KeyAsciiAsInteger):光标在文本框中时,按下键盘引发该事件。可通过返回的KeyAscii值得知用户按下的是哪个键。KeyAscii为13表示回车键;为0表示输入字符为空(不是空格)在该事件过程中Printtext1,打印的内容不包括刚刚输入的字符•LostFocus:当控件失去焦点时发生。•GotFocus:当控件获得焦点时发生。3.常用方法[对象.]SetFocus:是把光标移到指定的文本框对象中。常用KeyAscii值:0—489—57回车——13A—65Z—90换行——10a—97z—122演示:文本框中只允许输入数值(LostFocus判断和即时判断)2五、命令按钮CommandButton1.其他属性Caption:按钮显示的内容,可设置快捷键,例&Ok,显示Ok。Picture:按钮可显示图片文件(.bmp和.Ico),当Style为1时有效。Style:确定显示的形式,0只能显示文字,1文字、图形均可。ToolTipText:设置工具提示,和Picture结合使用。Default:光标不在任何命令按钮上时,回车就相当于鼠标单击Default属性为True的按钮。Cancel:任意情况下按Esc键,就相当于鼠标单击Cancel属性为True的按钮2.事件Click命令按钮接受用户输入的几种方式:1)鼠标单击该按钮2)利用Tab键将焦点移动到该按钮上回车3)快捷键(Alt+热键)4)当焦点不在任何命令按钮上时(例如焦点在文本框控件中),直接按下回车键,相当于用鼠标单击Default属性为True的按钮5)直接按下Esc键,相当于用鼠标单击Cancel属性为True的按钮2六、图片框和图像框图像框:用来显示图片重要属性:Stretch(图片按照图像框大小被缩放)图片框:用来显示图片同时可以作为容器重要属性:AutoZise(随着图片的大小自动调整大小)加载图片的方法(使用于所有用到图片的地方):方法一:属性窗口添加方法二:程序中通过LoadPicture代码添加对象.Picture=LoadPicture(“完整路径的文件名)对象.Picture=LoadPicture(C:\WINDOWS\Web\Wallpaper\home.jpg)七、Line和Shape控件Line:用来画直线,可以绘制三角形重要属性:(x1,y1)和(x2,y2)起始点坐标BorderStyle线型(Solid、Dash、Dot等)BorderWidth线的粗细Shape:绘制基本形状重要属性:Shape形状(0~5,矩形、正方形、椭圆、圆、圆角矩形、圆角正方形)FillStyle填充方式(实心、水平线、垂直线等)3.综合练习:例2.8建立一个允许剪切、复制和粘贴的简单便笺板程序。可增加内容:利用MouseMove事件决定命令按钮的有效性,即当选中内容,“剪切”、“复制”按钮有效,否则无效。2注意事项:1.窗体窗口中的控件名称必须和代码窗口中的一致。2.对某事件编写代码最好直接双击该控件,不要手写。有些事件需要参数例如MouseDown3.如果书写某对象的属性时,按下“.”之后没有提示,一般说明控件名写错了(例如:lable1.text)。可以用”me.对象名.属性”的方法来避免4.picture控件的picture属性只有当style为1时才生效。注意VB自带的图库目录位置5.使用FontName,FontBold等属性的注意事项:“宋体”为字体名称,“粗体”不是,没有“楷体”和“仿宋”有“楷体_GB2312”和“仿宋_2312”,不能写text1.FontSize=“小四”,而应当写text1.FontSize=12(五号—10.5、小四—12、四号—14.25、小三—15、三号—15.75)理解Text1.FontBold=notText1.FontBold的意义3八、常用方法方法是面向对象的,故使用的形式为:[对象.]方法1.Print方法形式:[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]作用:在对象上输出信息对象:窗体、图形框或打印机(Printer),省略对象在窗体上输出。Spc(n)函数:插入n个空格,允许重复使用。Tab(n)函数:左端开始右移动n列,允许重复使用。;(分号):光标定位上一个显示的字符后。,(逗号):光标定位在下一个打印区的开始位置处。无;,时换行。开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角0,0。注意:Print方法在Form_Load事件过程中起作用,必须设置窗体的AutoRedraw为True。320090312PrivateSubCommand1_Click()Printhello'可以打印字符串Print100'可以打印数值Print100+200'也可以打印表达式的值Print1234567890123456789Printabc,def'一个打印区间为14列Printabc;def'分号表示接着打印Printabc;'分号表示接着打印,写为多行也一样PrintdefPrintabc'什么也没有表示回车PrintdefPrint'表示出现空行或将前一行末尾的回车符功能取消Print1234567890123456789Printab;Spc(3);cd;Spc(2);ef'Spc(n)表示在目前位置出现n个空格PrintTab(1);ab;Tab(5);cd'