VB教程——窗体
- 格式:doc
- 大小:595.50 KB
- 文档页数:53
2.2 创建窗体1. 窗体的属性(1)常⽤属性简介属性名称说明Name 窗体名称系统识别窗体的标识名,⼀个窗体名必须以⼀个字母开头,可包含数字和下划线,但不能包含空格和标点符号。
Caption 窗体标题出现在窗体标题栏中的⽂本内容Icon 窗体图标这个属性是⽤户经常要使⽤的⼀种属性。
当⽤户的应⽤程序在⼯具条上最⼩化或在Windows桌⾯上变为⼀个独⽴应⽤程序时,该属性决定将采⽤何种图标,窗体控制框⾥的图标也由它决定。
BackColor 窗体背景⾊可以从属性框⾥弹出调⾊板,选择所需要的颜⾊ForeColor 窗体前景⾊窗体上打印⽂字的颜⾊BorderStyle 边框风格这个属性决定了窗体边框的样式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运⾏时才变为所要求的样⼦。
Apearance 外形这个属性⽤来决定控件是否采⽤三维效果ControlBox 控件按钮控件按钮⽤来决定是否采⽤控件框的属性,仅在程序运⾏时才有效。
Font 字体⽤来改变该窗体上显⽰信息的字体、字型和字号,它控制着直接在窗体上打印的⽂本显⽰。
Visible 可见性该属性决定窗体是否可见, 默认情况下是可见的。
错误地改变其值是很危险的,窗体会从眼前消失,WindowState 窗体状态指定窗体在运⾏时的三种状态:正常、最⼩化、化。
Enabled 活动性默认值为True,决定窗体能否被访问。
Left、Top、Height、Width 左边距、顶边距、⾼度、宽度决定窗体在屏幕上的位置及窗体⼤⼩。
(2)设置属性的⽅法 1)在设计态通过属性窗⼝设置 直接在属性窗⼝中选择或输⼊既可。
2)在程序代码中改变属性值 代码中的格式为:对象名 . 属性 = 属性值 例:Form1.BackColor=RGB(255,0,0)2. 窗体的常⽤⽅法(1)Hide⽅法⽤以隐藏 MDIForm 或 Form 对象,但不能使其卸载。
编程高手之路—跟我学VB—第二章第十五节——窗体窗体犹如一块画布,在设计时是程序的设计区域,而在运行程序时,每个窗体对应于一个窗口。
一、窗体的结构:窗体结构与普通Windows 下的窗口非常相似,如图一:图一系统菜单:Form1.ControlBox,点击它可以弹出菜单命令。
标题栏:Form1.Caption,显示的窗口标题,如本例中的“Form1”。
最小化按钮:Form1.MinButton 。
最大化按钮:Form1.MaxButton 。
二、窗体的主要属性:1、名称:命名规则为FrmX ,如FrmShow 、FrmFirst ,等等,主要用于程序调用。
2、AutoRedraw(自动重画):本属性控制图像的重建,常用于多窗体程序设计中,语法如下:窗体名称.AutoRedraw = True/False当AutoRedraw 设置为True 时,那么本窗体被另外的窗体覆盖后,又回到此窗体时,将自动重新刷新或重画窗体上的所有图形;如果是False ,则必须通过事件过程来设置这一操作。
默认属性为False。
如图二:图二3、BackColor(背景色)与ForeColor(前景色):前者用来指定窗体的背景色,如图三:图三后者用来指定文本或图形的前景色,如图四:图四4、Height(高度)与Width(宽度):这两个属性用来指定窗体的高度与宽度,其单位是Twip ,即 1 点的1/20 (1/1440 英寸)。
如要让窗体的高度变为200 ,宽度变为300 ,那么程序应该写成:Private Sub Form1_Click()Form1.Height = 200Form1.Width = 300End Sub5、Top(顶部)与Left(左边距)属性:通过这两个属性可以控制窗体的坐标位置,默认单位是Twip 。
要注意的是,随对象的不同,这个Top 与Left 的意义不同。
当对象是窗体,Top 指的是窗体顶部与屏幕顶部的相对距离,Left 指的是窗体左边界与屏幕左边界的间距;当对象是其他控件时,它们分别表示控件顶部、左边与窗体顶部、左边之间的距离,如图五所示:图五语法示例:Private Sub Form1_Click()Form1.Top = 200Form1.Left = 300End Sub上面的语句会把Form1 窗体移动到距屏幕顶部200 Twip ,距屏幕左边距300 Twip 的地方。
VB教程——窗体在前面的教程中,我们讲到了窗体的主要属性与事件,而本节我们主要讲述窗体的一些窗口运用。
本节知识对于后面“多文档文件”的创建非常重要,所以希望大家好好掌握。
一、添加窗体:在VB 中每创建一个新文件,自动会生成一个新窗体,如果想在本窗体的基础上再添加一个窗体,那么应该如何做呢?1、选择工程/添加窗体命令,弹出如图一的窗口:图一2、选择你需要的窗体,然后点按“打开”就行了,结果可以在“工程”窗口中看到,如图二:图二二、清除窗体:在“工程”窗口中选中欲被清除的窗体,然后鼠标右键,在弹出的菜单中选择“移除……”命令。
如图三:图三三、窗体的显示属性:多窗口文件,往往是启动时打开主窗口,通过一些命令再打开其他窗口,那么,如何对窗口是否显示进行设置呢?1、选择“工程/工程属性”菜单命令,在弹出的窗口中找到“启动对象”,然后从中选择文件打开时的主窗口是哪个,如图四:图四2、其他窗体的载入:我们可以在主窗口中设置菜单或按钮,并在该菜单或按钮的代码区输入如下代码:Form2.Show 1其中,Show 是显示窗体的一种方法,1 是窗体的显示模式即Mode ,当值为0 即非模态窗体时(常态窗口),允许用户在当前程序中切换到其他窗口;当值为1 即模态窗体时,用户不能在各个窗口间切换。
3、窗体在程序中的三种状态:未装入:窗体没进入程序,不占用程序资源,可以通过Unload 方法卸载窗体。
装入但不显示:可以用Load 方法将窗体载入内存,随时准备显示。
显示:用Show 方法可以显示窗体,如果窗体已装入内存,那么直接Show ;如果窗体还没装入内存,Show 可以先用Load 的方法将窗体载入内存,然后再显示出来。
载入窗体:Load FormX卸载窗体:Unload FormX显示窗体:FormX.Show Mode再论窗体除窗体设计原理以外,还需考虑应用程序的开始与结束。
有一些技巧用于决定应用程序启动时的外观。
实例1 窗体操作“窗体操作”程序运行后,在屏幕的的中央显示一个窗体,窗体的画面如下图所示。
单击窗体中的“向左移动”按钮,可以使窗体向左移动;单击“向右移动”按钮,可以使窗体向右移动:单击“向下移动一按钮,可以使窗体向下移动;击“向上移动”按钮,可以使窗体向上移动;单击“最小化”按钮,可以使窗体最小化,在Windows的状态栏中显示程序最小化后的按钮(按钮上有最小化图标),单击“最大化”按钮,可以使窗体最大化,此时窗体没有边框;单击“正常”按钮,可以使窗体恢复起始状态,窗体有边框,单出“退出E”按钮或者按Alt+E键,可以关闭窗体,结束程序。
(1)实例1中共有10个对象,窗体的名称为Form1,标签的名称为Label1,8个按钮的名称分别是:Command1,Command2、Command3、Command4,Command5、Command6、Command7、Command8。
它们的Caption属性设置见表。
实例1中各对象的Caption属性设置其中,Command8按钮的Caption值为“退出&E”,表示按钮的标题为“退出&E”,按Alt+E键和单击该按钮的作用一样。
(2)单击选中窗体,在其属性栏内。
单击Picture属性值右边的箭头按钮,调出“加载图片”对话框。
然后,选择一个图像文件,单击“打开”按钮,给窗体设置一幅背景图像。
再将窗体的StartUpPosition属性设置为“2-屏幕中间”,使窗体在屏幕中间显示。
(3)单击选中标签对象Label1,在其属性栏内,再单击BackColor属性值右边的箭头按钮,弹出调色板。
利用该调色板设置标签的背景色为黄色。
(4)单击ForeColor属性值右边的箭头按钮,弹出调色板。
利用该调色板设置标签的文字颜色为红色。
单击Font属性值右边处的箭头按钮,弹出“字体”对话框,利用该对话框,设置字体为宋体,字大小为16号,字形为粗体。
然后单击“确定”按钮,完成字体设置,退出“字体”对话框。
VB多窗体应用教程在VB入门教程中,我们所有的案例全部都是通过一个窗体来完成的。
实际上,绝大部分的程序都绝不会只有一个界面的。
因此,本节课程一起来学习多窗体应用吧。
一、窗体的添加方法1:在工程资源界面,鼠标右键单击——添加——添加窗体方法2:在菜单栏,工程——添加窗体以上两种方法,无论使用哪一种后,都会弹出“添加窗体”的对话框。
在“添加窗体”对话框中,可以选择“新建”选项卡(默认),也可以选择“现存”选项卡。
需要注意的是,在多窗体应用中,不能有重复的窗体Name。
二、窗体的移除要移除某个无需使用的窗体时,可以在工程资源界面,选中该窗体后,鼠标右键单击,选择“移除...”命令,即可删除该窗体。
三、窗体的装载语法:Load窗体名举例:Load Form2作用:执行该语句可以把指定的窗体装入内存。
同时,会触发窗体的Load事件,但是窗体不会显示,仍然处于隐藏的状态,但是窗体中的控件、全局变量均可以引用。
四、窗体的卸载语法:Unload窗体名示例:Unload Form2执行该语句,将卸载指定的窗体,释放窗体占用的内存资源,并触发该窗体的Unload事件。
五、窗体的显示语法:[窗体名.]Show [Style]举例:Form2.Show作用:用来显示一个窗体,缺省窗体名时,则为当前窗体。
说明:Style参数是一个整数,用来决定窗体的显示模式。
如果取1则窗体以有模式显示,如果取0则以无模式显示窗体。
有模式:如果以有模式状态显示窗体,则此时用户只能对该窗体进行操作,而无法操作其它窗体。
无模式:以无模式状态显示的窗体,用户可以在多个窗体之间切换操作。
Style参数缺省时,即默认无模式显示。
在使用show语句显示一个窗体时,如果该窗体还没有被装载,则VB将会默认自动装载该窗体,然后在显示该窗体。
因此,对于一个没有被装载过的窗体,使用show语句时,也将会触发Load事件。
但是需要注意的是,如果窗体已经被装载过,那么将不会再次触发Load 事件。
第四章窗体14.1窗体的构造14.2窗体属性24.2.1窗体根本属性21. 名称〔Name〕22. AutoRedraw〔自动重画〕43. BackColor〔背风光〕与ForeColor〔前风光〕64. BorderStyle 属性95. Height〔高度〕、Width〔宽度〕、Top〔顶部〕与Left〔左边距〕属性106. Caption 标题属性117.字型Font属性组128. Enabled〔允许〕〔逻辑值〕159. Visible〔可见〕属性〔逻辑值〕154.2.2窗体其他常用属性174.3 窗体的主要事件184.3.1 Activate (活动事件)与Deactivate〔非活动事件〕184.3.2 Load〔装入〕与UnLoad〔卸载〕事件194.3.3 Click〔单击〕与DblClick〔双击〕事件204.3.4 Resize 事件244.4窗体控制244.4.1装入或卸载窗体244.4.2显示和隐藏窗体错误!未定义书签。
4.4.3 Cls方法274.4.4 Move方法284.4.5 TextHeight和TextWidth324.4.6位置属性CurrentX和CurrentY32 4.4.7窗体之间的数据存取344.5根本的窗体操作364.5.1添加窗体:364.5.2移除〔去除〕窗体374.5.3 END语句374.5.4多窗体的启动〔显示〕顺序39 4.6多文档程序444.6.1多文档程序的建立454.6.2主窗体与子窗体的标题484.6.3主窗体与子窗体的菜单484.7窗体设计举例49练习创立一个窗体错误!未定义书签。
第四章窗体[学习目标]1.学会在应用程序过编程来调用和卸载工程中的窗体。
2.掌握有关窗体操作的语句和方法。
3.理解区别Unload和Hide方法。
4.了解启动窗体的概念。
[学习重点]有关窗体操作的语句和方法。
在VB中建立一个程序主要包括两局部工作,即:设计窗体和编写代码。
前面已对窗体做了一个简单介绍,编写VB程序首先要根据需要创立一个良好的可视化界面,因此VB程序界面是由窗体〔Form〕和一些必要的控件元素〔Control〕构成的。
由于VB属于面向对象编程,也可以将窗体、控件都称为对象。
窗体是窗体设计器窗口的简称,是应用程序面向用户的最终窗口。
窗体也是一种对象,由其属性定义外观,用方法定义其行为,通过事件设定与用户实现交互。
因此,设计窗体也就是设计一个应用程序的操作界面。
当启动一个新的工程文件时,VB自动创立一个带图标的新窗体,命名为“Form1〞。
窗体带有网点〔称为网格〕的窗口,这就是用户的窗体,一般也是程序运行时的主窗口。
重新对该窗体大小的调整及属性值设置等操作,称为定制窗体。
对窗体、控件的定制,在设计期间称为设计时,程序运行期间称为运行时。
4.1窗体的构造当启动一个标准EXE程序后,窗体设计器中会出现一个默认的窗体。
可以发现它的外观大致与Windows中记事本窗口一样,其窗体右上角也有最小化、最大化、关闭三个按钮。
如图4-1所示:图4-1系统控件菜单:Form1.ControlBox,点击“图标〞它可以弹出控制菜单命令。
标题栏:Form1.Caption,显示的窗口标题,如本例中的“Form1〞。
最小化按钮:Form1.MinButton 。
最大化按钮:Form1.MaxButton 。
4.2窗体属性窗体属性决定了窗体的外观,如大小、颜色和标题等。
对窗体属性设置还可以改变窗体的构造。
4.2.1窗体根本属性1. 名称〔Name〕“名称〞是任何对象〔窗体、控件〕都具有的标识名,在属性窗口定义对象〔窗体、控件〕名称,以便在程序中引用。
对于任何一个可以在属性窗口设置其属性的对象,必须设置该属性的值。
VB自动为每一个对象给定一个缺省值。
窗体名称“Name〞,是窗体的标识名,其属性的缺省值为FormX〔X为编号,从1,2,…依次顺延〕。
对于给VB中所有对象〔窗体、控件〕“名称〞命名,都应按如下规那么:1)必须以字母或汉字开头;2)可包括字母、数字和下划线,不能有空格或标点符号;3)最大长度为40个字符;4)不能使用与公共对象一样的名字,例如Clipboard、Screen 或App。
虽然窗体名称命名可以是一个关键字、属性名字、或别的对象的名字,但这会在代码中产生冲突,因此不要使用。
5)“名称〞只具有只读属性,它只能在程序设计阶段设置,不能在运行期间改变。
名称不会显示在窗体上。
在简单的程序里,给创立的对象命名不是很必要,可以直接使用VB为每一个对象给定的缺省值〔默认名称〕。
但在有几十个对象(控件)的复杂窗体里,使用对象的缺省值,会让你用更多的时间去区分它们是那类控件。
为了能见名知意,提高程序可读性,VB推荐由三个小写字母的前缀和一个以第一个字母为大写的描述性单词组成的名字。
推荐的前缀见下表:线〔Line〕lin Lin1列表框〔ListBox〕lst Lst1菜单〔Menu〕mnu Mnu1选项钮〔OptionButton〕opt OptButton1图片框〔PictureBox〕pic Pic1几何图形〔Shape〕shp Shp1文本框〔TextBox〕txt Txt1垂直滚动条〔VerticalScroll Bar〕vsb VsbScroll2. AutoRedraw〔自动重画〕该属性决定窗体被隐藏或被另一窗口覆盖之后,是否重新复原该窗体被隐藏或覆盖以前的画面。
即是否重画如Circle、Line、Pset和Print等方法的输出。
该属性可以通过属性窗口设置如图4-2所示,其属性值为True时,可以重新复原该窗体以前的画面;假设为False时,那么不重新复原。
默认属性为False。
常用于多窗体程序设计中。
该属性的设置也可以在运行时通过代码进展设置,语句格式为:窗体名称.AutoRedraw[=Boolean]图4-2例如:有两个窗体Form1和Form2,先加载窗体Form1会在窗体中央画许多同心圆,单击窗体Form1会显示窗体Form2,当单击窗体Form2时卸载窗体Form2,观察窗体Form1上画的许多同心圆有无改变。
程序如下:Private Sub Form_Click() '窗体1程序Form2.ShowEnd SubPrivate Sub Form_ load() '窗体中央画许多同心圆Form1.ShowDim X, Y, R, LScaleMode = 3 '以像素为单位X = Form1.ScaleWidth / 2 'X 位置Y = Form1.ScaleHeight / 2 'Y 位置If X > Y Then L = Y Else L = XFor R = 0 To L '半径Circle (X, Y), R, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next REnd SubPrivate Sub Form_Load() '窗体中央画许多同心圆Form1.ShowDim RFor R = 0 To 10 '半径Print "sssssssssssssssssssssssssssssssssss"Next REnd Sub'窗体2程序Private Sub Form_click()Unload Form2 ' 卸载窗体End Sub注:ScaleWidth和ScaleHeight属性返回或设置“对象〞〔此例题“对象〞是窗体〕部的水平或垂直度量单位。
ScaleMode属性,返回或设置使用图形方法或调整控件位置时一个值,该值指示对象坐标的度量单位。
3. BackColor〔背风光〕与ForeColor〔前风光〕BackColor属性用于设置窗体的背景颜色,如图4-3所示;ForeColor属性用于设置在窗体里显示的图片或文本的颜色,即用来指定图形或文本的前风光,如图4-4所示。
图4-3 图4-4 它们用十六进制数指定颜色,在语句中颜色的表现形式为:&HBBGGRR&说明:它们用十六进制数指定颜色,在语句中颜色的表现形式为:&HBBGGRR&。
BB 指定蓝颜色的值,GG 指定绿颜色的值,RR 指定红颜色的值。
每个数段都是两位十六进制数,即从00 到FF。
在程序代码中可以用Windows 运行环境的红-绿-蓝(RGB) 颜色方案,使用调色板或在代码中使用RGB 或QBColor 函数指定标准RGB颜色。
RGB 函数是用来指定颜色,多数情况下用十六进制数指定颜色,分别定义了红、绿、蓝三种颜色的值。
红、绿、蓝三种成分都是用0 到255 (&HFF) 之间的数表示。
因此,可以用十六进制数按照下述语法来指定颜色,即&HBBGGRR&。
例如:将窗体Form1的背风光设置为红色,那么可使用下面四种方法:Form1.BackColor = RGB(255, 0, 0) ' RGB函数Form1.BackColor = &HFF& '用十六进制数指定颜色Form1.BackColor = QBColor〔12〕' QBColor〔〕函数Form1.BackColor = vbRed'VB提供的颜色常数QBColor 函数返回一个Long数据类型,用来表示所对应颜色值的RGB 颜色码。
语句格式为:QBColor(color)说明:color 参数代表使用于早期版本的Basic〔如Microsoft Visual Basic for MS-DOS 以及Basic Compiler〕的颜色值。
QBColor 函数返回值指定了红、绿、蓝三原色的值,用于设置成VBA中RGB 系统的对应颜色。
color 参数是一个界于0 到15 的整型。
color 参数设置值见下表:例如:在窗体上添加一个文本框和一个命令按钮,每单击一次命令按钮,那么文本框字体颜色就变化一次〔利用QBColor 函数实现〕。
Private Sub Command1_Click()Static i As IntegerIf i <= 15 ThenText1.ForeColor = QBColor(i)Text1.FontSize = 18Text1.FontBold = TrueText1.Text = "color"End IfIf i > 16 Then Endi = i + 1End Sub除了利用RGB和Qcolor函数来设置控件的颜色,还可以使用VB自身提供的Color 常数来设置控件的颜色,这些常数可以在代码中的任何地方用以下常数代替实际值见下表:例如:将窗体Form1的背风光设置为红色,那么可使用下面语句:Form1.BackColor = vbRed4. BorderStyle 属性BorderStyle 属性用于设置窗体的边框样式,通过改变BorderStyle 属性设置,可以控制窗体如何调整大小。