




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 窗体与基本控件,6.1 对象的基本属性 本节介绍VB内部控件的基本属性,多数的控件或窗体都具有这些属性。 6.1.1 属性的分类对象的属性分为3种:只读属性、运行时只读属性和可读写属性。 只读属性: 运行时只读属性: 可读写属性:,6.1.2 对象的基本属性,(1)Name名称属性 (2)Caption标题属性 (3)Width、Height与Left、Top属性,Width和Height属性分别表示对象的宽度和高度,即对象的大小。Left和Top属性分别是控件的左边到其容器的左边,控件的上边到其容器的上边的距离,即对象的位置。对于窗体,Top表示窗体到屏幕顶部的距离,Left表示窗体到屏幕左边的距离。,6.1.2 对象的基本属性,(4)Visible属性 该属性决定对象是否可见。 True:程序运行时控件可见。 False:程序运行时控件隐藏起来,不可见,但控件本身还存在。 (5)Enabled属性 该属性决定对象是否是有效。 True:允许用户操作,并对操作作出响应。 False:禁止用户操作,呈暗淡色。 (6)Appearance属性 该属性是窗体与有边框的控件都具有的一个属性,它的值决定了边框的绘制样式。它的取值有两个: 0表示以平面样式绘制,没有立体效果。 1表示以立体样式绘制边框。,6.1.2 对象的基本属性,(7)BorderStyle属性 该属性用来设置窗体和控件边框样式。BorderStyle属性在运行时是只读的。 0-None:控件周围没有边框。 1-Fixed Single:控件带有单边框。 (8)Font属性 该属性改变文字的外观,其“字体”对话框如图6.2所示。 FontName属性是字符型,决定了控件上正文的字体。 FontSize属性是整型,决定了控件上正文的字体大小,以磅为单位。 FontBold属性是逻辑型,表示控件上正文是否是粗体。 FontItalic属性是逻辑型,表示控件上正文是否是斜体。 FontStrikethru属性是逻辑型, 表示控件上正文是否加删除线。 FontUnderline属性是逻辑型,表示控件上正文是否带下划线。,6.1.2 对象的基本属性,(9)ForeColor属性 该属性用来设置对象的前景颜色,即正文和作图时的颜色。其值是一个16进制常数,用户可以在调色板中直接选择所需要的颜色。 (10)BackColor属性 该属性用来设置对象的背景颜色,即正文以外的显示区域的颜色。 (11)FillColor属性 该属性用来设置填充封闭图形所用的颜色。 (12)BackStyle属性 该属性用来设置背景风格。 0-Transparent:透明显示,即控件背景颜色显示不出来,若控件后面有其他控件或背景,均可设置为透明显示。 1-Opaque:不透明,此时可为控件设置背景颜色。,(13)Alignment属性 该属性决定控件上正文水平对齐方式。 0-Left Justify: 正文左对齐。 1-Rigth Justify: 正文右对齐。 2-Center:正文居中。 (14)AutoSize属性 该属性决定控件是否根据正文自动调整大小。 True:自动调整大小。 False:保持原来设计时的大小,正文若太长多余部分会被隐藏掉。默认为False。,6.1.2 对象的基本属性,(15)WordWarp属性 该属性决定文本在垂直方向上是否改变显示区域的大小。 WordWarp属性必须是在AutoSize属性设置为True时,WordWarp属性才有效。 True:表示按照文本和字体大小在垂直方向上改变显示区的大小,而在水平方向上不发生变化。 False:表示在水平方向上按正文长度放大和缩小;在垂直方向上以字体大小来放大或缩小显示区。 (16)Tag属性 每一个窗体和控件都有一个Tag属性,VB内部并不使用这个属性,只是在程序中利用它来标识对象实例。,6.1.2 对象的基本属性,(17)ToolTipText属性 这是每一个可视控件都具有的属性,它用于返回或设置当鼠标在控件上暂停时显示的文本(提示信息)。 (18)TabIndex属性 该属性决定了当用户按Tab键时,焦点在各个控件转移的顺序。 焦点是接收用户鼠标或键盘输入的能力。当对象具有焦点时,可接收用户的输入。 在Windows环境下,可同时运行多个应用程序,有多个窗口,但焦点只能有一个。焦点能由用户或应用程序设置。 当在窗体上有多个控件时,对于大部分控件,VB会给它分配一个Tab键顺序,所谓Tab键顺序,就是按Tab键时,焦点在各个控件上移动的顺序。一般,其顺序与控件建立的顺序相同,若要改变此顺序,可以设置控件的TabIndex属性,TabIndex属性决定了它在Tab中的位置。按默认值规定,第一个建立的控件的TabIndex属性值为0,第二个为1,依次类推。在设计时用属性窗口或在运行时用代码可改变控件的TabIndex属性。运行时,不可见或无效的控件以及不能接收焦点的控件(如Frame、Lablel等控件),仍保持在Tab键顺序中,但切换时要跳过这些控件。,6.1.2 对象的基本属性,(19)TabStop属性 TabStop属性返回或设置一个值,该值用来指示是否能够使用Tab键将焦点从另一个对象移动到这个对象上。当一个控件的TabStop属性设置为False时,用Tab键就不能使该控件获得输入焦点,只有那些可以获得输入焦点的控件才具有该属性。 【例6.1】在窗体上建立一个命令按钮:Command1,一个标签框:Label1,运行结果如图6.3所示。 【例6.2】窗体上有6个标签:Label1Label6,每个标签的宽度和高度相同,其属性设置如表6.1所示,运行结果如图6.4所示。,6.2 窗体的属性、事件和方法,6.2.1 窗体的常用属性1.窗体基本属性 1.窗体基本属性包括:Name、Caption、Height、Width、Left、Top、Font、Enabled、Visible、ForeColor、BackColor属性等。 2.窗体的特有属性 (1)MaxButton属性 指定窗体标题栏的最大化按钮是否有效。只能在属性窗口中设置。 True:窗体右上角有最大化按钮。 False:窗体右上角无最大化按钮。,窗体的特有属性,(2)MinButton属性 指定窗体标题栏中的最小化按钮是否有效。只能在属性窗口中设置。 True:窗体右上角有最小化按钮。 False:窗体右上角无最小化按钮。 (3)ControlBox属性 该属性指定是否在窗体左上角有控制菜单框。该属性在运行时是只读的。 True:在窗体左上角有控制菜单框。 False:在窗体左上角无控制菜单框。,窗体的特有属性,(4)WindowState属性 该属性表示窗体执行时以什么状态显示。 0Normal:正常窗口状态,有窗口边界。 1Minimized:最小化状态,以图标方式运行。 2Maximized:最大化状态,无边框,充满整个屏幕。 (5)Icon属性 在属性窗口中,可以单击Icon设置框边的(省略号),打开一个“加载图标”对话框,用户可以选择一个图标文件装入,当窗体最小化时,以该图标显示。 (6)Moveable属性 指定用户是否可以用拖动窗口标题栏来移动窗口。若其值为Ture,则可以移动。,窗体的特有属性,(7)ShowInTaskbar属性 指定一个窗体对象在运行时的窗口是否出现在Windows任务栏中。若它的值为True,则出现在任务栏中。该属性在运行时是只读的。 (8)BorderStyle属性 指定窗体的边框样式。改变此属性值,会改变MinButton、MaxButton和ShowInTaskbar属性的设置值。 (9)Picture属性 该属性设置在窗体或控件中显示的图片。在设计时,单击属性窗口中Picture属性右端的(省略号),可以打开一个“加载图片”对话框,用户可以选择一个图形文件装入。 图片框Picture控件,也具有Picture属性。,6.2.2 窗体的常用事件,窗体的事件较多,一般分鼠标事件、键盘事件、窗体装载事件等,下面分别介绍。 1.鼠标事件 所谓鼠标事件是指由用户操作鼠标而引发的但能被VB中的各种对象识别的事件。鼠标有五个事件:Click、DblClick、MouseDown、MouseUp和MouseMove事件。 (1)Click(单击)事件 (2)DblClick(双击)事件 (3)MouseDown(按下鼠标)事件 (4)MouseUp(释放鼠标)事件 (5)MouseMove(移动鼠标)事件 如果是双击一个控件时,将按顺序产生下列事件: MouseDown、MouseUp、Click、DblClick和MouseMove事件。,窗体的事件,2.键盘事件 键盘事件包括:KeyPress、KeyDown和KeyUp事件。 (1)KeyPress事件 (2)KeyDown事件 (3)KeyUp事件 3.其他事件 (1)Load(装入)事件 (2)Unload(卸载)事件 (3)Activate(活动)和DeActivate(非活动)事件 (4)Paint(绘画)事件,6.2.3 窗体的常用方法,1.Move方法 Move方法是几乎任何一个可视对象都具有的方法。它的作用是改变对象的位置和大小。 格式:对象.Move Left ,Top ,Width ,Height 功能:用来移动窗体和控件,并可以改变其大小。 说明:对象是窗体或控件。 2.SetFocus方法 窗体对象和可以获得输入焦点的对象都具有此方法。调用对象的此方法后,任何输入将指向该对象。此方法不需要任何参数。只有当对象已经显示并且其Enabled属性为True时,才可调用对象的这个方法。,6.2.4 控件的常用事件,鼠标事件:Click、DblClick、MouseDown、MouseUp、MouseMove事件。 键盘事件:KeyDown、KeyUp、KeyPress事件。,6.2.5 LoadPicture函数,如果要在窗体、图片框、图像框中装入图片,除了在设计中用属性窗口装载外,还可以在程序中使用LoadPicture函数。 格式:对象名.Picture=LoadPicture(“文件名“) 功能:LoadPicture是一个函数,用来将指定图形文件调入内存。 【例6.3】在窗体中装入图形作为背景,当用户单击窗体或双击窗体时,显示的标题、图形和文字都有所不同。,6.8 DblClick事件的运行效果,【例6.4】设计一个程序,在窗体上添加四个图像框,当用户在窗体上移动鼠标,四个图形文件就会装入图像框。 当用户在窗体内移动鼠标时,就会发生MouseMove事件,执行Form_MouseMove过程语句将四个图形文件分别装入四个图像框中。程序的执行屏幕如图6.10所示。将上述程序代码剪切到MouseUp事件中,释放鼠标也能将四个图形文件分别装入四个图像框中。,6.8 DblClick事件的运行效果,【例6.5】用窗体键盘的KeyDown事件,在窗体上画一个圆。如图6.11所示。 【例6.6】用窗体的单击Click事件,在窗体上和图片框上各画一个圆。如图6.12所示。 【例6.7】利用KeyPress事件,在窗体上显示按键的ASCII码及对应的字符。如图6.13所示。 【例6.8】利用KeyPress事件,可以对输入的数据进行过滤。如图6.14所示。 【例6.9】使用Move方法使窗体移动并改变其大小。如图6.15所示。,6.3 多窗体,在集成开发环境中,使用“工程添加窗体”菜单,就可以在一个工程中使用多个窗体。被设置为启动对象的窗体在程序运行之初会被自动加载和显示,但是只能在工程属性中设置一个窗体模块为启动对象。当启动对象是Sub Main过程时,要显示窗体或当显示一个窗体后再显示其他的窗体,就要考虑窗体的加载、显示、隐藏和卸载问题。,6.3.1 加载窗体,加载窗体使用Load语句。 格式:Load 窗体名 功能:加载窗体到内存。 说明:加载窗体只是将这个窗体对象装入内存,但并不显示这个窗体对象。此语句只是需要在初始化时加载所有的窗体并在以后需要他们的时候显示。当VB加载窗体时,先把窗体的各属性设置为初始值,再执行Load事件。,6.3.2 显示窗体,显示一个窗体就要把它的Visible属性设置为True。显示一个窗体还可以用窗体对象的Show方法。 格式:窗体名.Show 功能:将窗体显示在屏幕上。 说明:如果在调用一个窗体的Show方法时,指定的窗体尚未加载,VB将自动装载该窗体。,6.3.3 隐藏窗体,把一个窗体的Visible属性设置为False或使用它的Hide方法,就可以把窗体隐藏。 格式:窗体名.Hide 功能:将窗体隐藏起来。 说明:隐藏窗体并不把窗体从内存中卸载,只是变得不可见。在使用Visible属性或Hide方法隐藏窗体时,如果窗体尚未加载,则VB会加载该窗体,但不会让它显示出来。,6.3.4 卸载窗体,窗体用完后可以卸载窗体,要用Unload语句。Unload语句的语法格式与Load语句相同。 格式:UnLoad 窗体名 功能:将窗体从内存中卸载下来。 说明:当卸载一个窗体时它的子窗体也会被卸载。,6.3.5 建立多窗体,1.建立多窗体的操作步骤2.启动窗体 【例6.10】设计一个具两个窗体的程序,在每个窗体中装入一幅画。 【例6.11】设计一个程序,当在窗体上选择“输入成绩”按钮后,屏幕就弹出一个输入学生成绩窗体,用户可以输入学生的每科成绩,输入完成,单击“计算”按钮,屏幕就弹出计算总分与平均分的窗体,并计算出学生的总分与平均分。,6.4 鼠标事件与键盘事件,6.4.1 鼠标事件 MouseDown、MouseUp和MouseMove三个鼠标事件过程如下(以Form对象为例): Sub Form_MouseDown(Button As Integer,Shift As Integer, X As Single,Y As Single) Sub Form_MouseUp(Button As Integer,Shift As Integer, X As Single,Y As Single) Sub Form_MouseMove(Button As Integer,Shift As Integer, X As Single,Y As Single) 这三个鼠标事件过程具有相同的参数,他们把鼠标的信息传给过程。,6.4.1 鼠标事件,(1)Button:被按下的鼠标按钮,可以取以下3个值,如表6.5所示。 (2)Shift:表示Shift、Ctrl和Alt的状态。如表6.7所示。 (3)X,Y:这两个值对应于当前鼠标的位置,采用ScaleMode属性指定的位置。 说明: (1)有些鼠标只有两个按钮,或者虽有3个按钮,但Windows鼠标驱动程序不能识别中间按钮。在这种情况下,表6.6中的后4个参数值不能使用。,6.4.1 鼠标事件,表6.5 Button按钮的3个取值 符号常量 值 作 用 LEFT_BUTTON 1 按下鼠标左按钮 RIGHT_BUTTON 2 按下鼠标右按钮 MIDDLE_BUTTON 4 按下鼠标中间按钮 表6.6 Button按钮状态 十进制 二进制 作 用 0 000 没按下任何按钮 1 001 左键被按下(默认) 2 010 右键被按下 3 011 左、右按钮同时被按下 4 100 中间按钮被按下 5 101 同时按下中间和左按钮 6 110 同时按下中间和右按钮 7 111 3个按钮同时被按下,6.4.1 鼠标事件,(2)对于单按鼠标器,它的按钮定义为左按钮。如果鼠标带两个按钮,并使用Windows的控制面板交换了鼠标器的左、右钮,那么,当按右按钮时,VB认为是按了左按钮。 例如,如果按住Ctrl键,然后在坐标为(2000,3000)的点上按下鼠标器右键,则立即调用Form_MouseDown过程,释放鼠标右键时,调用Form_MouseUp过程。此时Button、Shift、X、Y这四个参数的值分别为2、2、2000和3000。,6.4.1 鼠标事件,(3)Shift是转换键,它指的是3个转换状态,包括Shift、Ctrl和Alt。这3个键分别以二进制方式表示,每个键用三位,即:Shift键为001,Ctrl键为010,Alt键为100。当按下Shift键时,Shift参数的值为001(十进制数1),当按下Ctrl键时,Shift参数的值为010(十进制数2),而按下Alt键时,Shift参数的值为100(十进制数4)。如果同时按下两个或三个转换键,则Shift参数的值即为上述两者或三者之和。因此,Shift参数共可取8种值,如表6.7所示。,表6.7 Shift参数的值,十进制 二进制 作 用 0 000 没有按下转换键 1 001 按下一个Shift键 2 010 按下一个Ctrl键 3 011 按下一个Ctrl+Shift键 4 100 按下一个Alt键 5 101 按下一个Alt+Shift键 6 110 按下一个Alt+Ctrl键 7 111 按下一个Alt+Ctrl+Shift键,6.4.2 键盘事件,当控制焦点置于某对象上,同时用户按下键盘中的任一键,便会使对象引发KeyDown事件,释放按键便引发对象的KeyUp事件。与KeyPress事件不同,KeyUp事件和KeyDown事件返回的是被按下或释放的键盘扫描码和组合键的状态。其事件过程形式如下: Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) Sub object_KeyDown(Index As Integer,KeyCode As Integer,Shift As Integer) Sub Form_KeyUp(KeyCode As Integer,Shift As Integer) Sub object_KeyUp(Index As Integer,KeyCode As Integer,Shift As Integer),6.4.2 键盘事件,其中: (1)KeyCode参数是用户所操作的那个键的扫描代码,它告诉事件过程,用户操作的物理键,也就是说,大写字母和小写字母使用同一个键,他们的KeyCode相同。对于有上档字符和下档字符的键,其KeyCode也是相同的,即为下档字符的ASCII码。表6.8列出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃庆阳市庆城县事业单位引进高层次和急需紧缺人才4人(第三批)模拟试卷及答案详解(全优)
- 2025年甘肃省大数据中心招聘工作人员模拟试卷完整答案详解
- 2025湖北黄冈市武穴市事业单位第二批考核招聘三支一扶服务期满人员1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025北京大兴区旧宫镇红星派出所流动人口和出租房屋管理员招录1人考前自测高频考点模拟试题及答案详解(必刷)
- 2025杭州青少年活动中心招聘工勤岗位工作人员20人模拟试卷及答案详解一套
- 2025年4月广东深圳市大鹏新区政务服务和数据管理局招聘编外人员2人模拟试卷及答案详解一套
- 2025河南工程学院招聘高层次人才160人模拟试卷附答案详解(突破训练)
- 2025年福建省泉州市晋江市首峰中学招聘1人考前自测高频考点模拟试题参考答案详解
- 2025年上半年五粮液集团公司招聘870人笔试题库历年考点版附带答案详解
- 2025年3月吉林省高速公路集团有限公司公开招聘3人(总部岗位)笔试题库历年考点版附带答案详解
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 政府机关防恐防暴演练方案范文
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 钢铁销售基础知识培训
- 5.1延续文化血脉 教案 -2025-2026学年统编版道德与法治九年级上册
- 2025年保密观原题附答案
- 基于项目学习的英语核心素养心得体会
- 2025年全球汽车供应链核心企业竞争力白皮书-罗兰贝格
- 第六章-材料的热性能
- (完整版)抛丸机安全操作规程
- 高一前三章数学试卷
评论
0/150
提交评论