8. WindowState属性
返回或设置窗体运行时的状态。其值为0、1、2三种,分别表示窗体运行时正常化、最小化和最大化,默认值为0。
9.字体位置有关的属性
与字体位置有关的属性有Font、FontName、FontSize、FontBold、FontItalic、FontStrikethru、FontUnderLine,返回或设置显示文本所用的字体。Font本身是对象,具有其余所有的属性内容。字体对象包括了有关字体的所有属性,如字体名称、字体大小、字体样式(如:常规、粗体、斜体、粗斜体),字体效果(下划线、删除线)等。Font属性可用一组以Font为前缀的属性系列表示,设计时和运行时都能设置字体对象的属性。FontName是字体名称,FontSize 描述字体的大小,FontBold描述字体是否粗体,FontItalic描述字体是否斜体,FontStrikethru描述字体是否有删除线,FontUnderLine描述字体是否有下划线。
10. 描述位置和尺寸的属性
描述位置和尺寸的的属性包括Left、Top、Height和Width属性。Height、Width属性描述窗体的高度和宽度,Left属性描述窗体的左边与桌面左边之间的距离,Top属性描述窗体的顶部和桌面顶部之间的距离。
在VB中,窗体能响应的事件很多,我们只介绍窗体对象的主要事件。
1.Load事件
装入窗体是将窗体的可视部件(窗体及其上面的控件)由磁盘装入到内存,此时将由系统触发Load事件。该事件常用于在窗体装入内存时,进行一些初始化处理。比如在窗体装载时,为窗体装入背景图片,设置窗体中控件的初始值等。
Load 事件过程格式为:
Private Sub Form_Load ( )
…
End Sub
2.Unload事件
当从内存中清除一个窗体,将由系统触发Unload事件。该事件常用于窗体被关闭或应用程序结束时,作必要的善后处理。
Unload 事件过程的格式为:
Private Sub Form_Unload (Cancel As Integer)
…
End Sub
其中,Cancel参数是指令性的,用户可在事件过程中设置Cancel为0或非0值。若Cancel设置为非0值,则表示取消当前关闭窗体的操作;若Cancel设置为0,则表示确认当前关闭窗体的操作。
注意:End语句将强制性终止应用程序的执行,其后的代码不会再执行,各个对象的引用将被释放,当然也就不会再有对象的任何事件发生。因此,在应用程序中要慎用End语句,以免造成不可挽回的损失。
3. Activate事件与Deactivate事件
Activate事件与Deactivate事件是窗体在可见状态下两个事件。该窗体变成活动窗体时,就会触发Activate事件;当另一个窗体或应用程序被激活时,该窗体就会触发Deactivate事件。这些事件过程可用于初始化窗体或结束窗体。
例如在窗体成为当前窗体时,清除窗体内的临时图形。
Private Sub Form_Activate( _)
Cls
End Sub
4.Resize事件
程序运行时,如果窗体初次显示在屏幕上或窗体大小被改变(例如,一个窗体被最大化、最小化或被还原时),那么将自动触发Resize事件。其事件过程格式为:
Private Sub Form_ Resize ( _)
…
End Sub
Resize事件过程常用于当窗体调整大小时,自动移动窗体内的控件或调整其大小,也可用此事件过程来重新计算某些变量或属性,如:ScaleHeight和ScaleWidth等,它们取决于该窗体的尺寸。
窗体作为绘图区或容器对象,其部分方法与控件相似,如,Print、Cls、Scale、Line、Circle、Move等方法,这里只介绍窗体所特有的几个方法。其他方法在以后具体应用时再作介绍。
1. Show方法
Show方法用来显示一个新窗体。执行Show方法时,系统将检查窗体是否装入内存。如果没有装入内存,那么先装入内存,然后再显示。如果窗体被其他窗体遮住,那么调用Show方法时,窗体将移动到屏幕的最前端,并将窗体的Visible属性设置为True。
格式为:
窗体名.Show [Style]
参数Style表示窗体的显示模式,取值为0或1。当取值为0时,称该窗体为“非模式”窗体,此时本应用程序允许在该窗体与其他窗体之间任意切换操作;当取值为1时,称该窗体为“模式”窗体,此时,应用程序不允许未关闭窗体就切换到其他窗体进行操作。像MsgBox消息框就是模式窗体。
缺省Style式相当于取值为0。
2.Hide方法
Hide方法用于将窗体隐藏起来,但不从内存中清除。如果调用Hide方法时窗体还没有加载,那么Hide方法将加载该窗体但不显示它。调用Hide方法时,窗体将从屏幕上消失,并将其Visible属性设置为False,用户将无法访问隐藏窗体上的控件。
格式为:
窗体名. Hide
Show方法和Hide方法对于多重窗体的程序设计非常有用。因为对于一个多窗体的应用程序,由于有多个窗体,而程序运行时,一次只能访问一个窗体上的某一个控件,所以如何装入和显示窗体、如何将窗体隐藏就显得比较重要。
Private Sub Form_Click( )
Dim Msg
Hide ' 隐藏窗体
Msg=“单击“确认”重现院窗体!”
MsgBox Msg '显示模式消息框
Show '使窗体重显
End Sub
3. Cls方法
Cls方法用于清除运行时窗体上所生成的文本和图形,而设计时使用Picture属性设置的背景图和放置的控件不受影响。
4. Print方法
Print方法用于在窗体上显示文本字符串和表达式的值,并可在其它图形对象或打印机上输出信息。一般格式为:
[object.]Print [outputlist][{;|,}]
object:可以是窗体(Form)、图片框(PictureBox)或打印机,缺省为当前窗体。
Outputlist:输出表列,表项之间用“;”或“,”隔开。
“;”表示紧凑格式,对于数值型数据输出时,输出项前面有一个符号位,后面有一个尾随空格;而对于字符串输出时,前后都没有空格。
“,”表示标准输出格式,它以14个字符位置为单位,将一个输出行分为若干个区段,逗号后面的表达式在下一个区段输出。
如果输出表列的结尾没有“;”或“,”符号,输出完表项后当前位置移到下一行行首;如输出表项文本太长或当前位置靠右,则输出内容可能到了显示区域以外,被截断的文本不能通过滚动窗体或图片框来显示。
示例:
Form1.Print 1,2,3,4
Form1.Print ″Visual″;″Basic″;6.0,″中文版″
运行时输出结果为:
1 2 3 4
VisualBasic6.0 中文版
作为一种可视化开发工具,VB中最吸引人的地方在于编程者可以方便地利用集成开发环境中工具箱里的控件迅速地创建出友好的界面。从VB诞生之日起,控件对象就是应用程序中不可缺少的一部分。控件不仅使用方便、功能强大,而且具有开放性,开发者既能利用VB自身的控件,也可以利用由第三方开发提供的其他控件,甚至还可以加入开发者自己创建的控件对象,成为广大编程者喜爱VB的主要因素。
1.控件的分类
VB提供的控件按来源可分为三个类别:标准控件、ActiveX控件和可插入对象。
(1)标准控件:在VB工具箱中列出的20个控件,是VB各种版本都提供的,也是开发者最常用的,它基本上能满足开发者的一般要求。
(2)ActiveX控件:是VB工具箱的扩充部分。ActiveX控件是一个标准的用户界面元素,它能快速的将窗体和窗体控件等对象组装在一起。VB各种版本都具有的CommandDialog公共对话框控件,仅在专业版和企业版中提供的ToolBar工具栏控件、DataGrid数据网格控件等都是ActiveX控件;另外还有许多第三方提供的或用户自己开发的ActiveX控件。
(3)可插入对象:VB可以直接利用用户机器中安装的软件所提供的对象,如Excel中的工作表,Word文档,Bmp图像等。在工程中加载这些对象后,可以像使用控件一样使用它们。
2.在窗体上添加控件
(1)向工程添加ActiveX控件或可插入对象
在窗体上添加标准控件第一章已有介绍。向工程添加ActiveX控件或可插入对象可选择“工程|部件…”菜单项,打开“部件”对话框,在“控件”或“可插入对象”选项卡中选取所需控件或对象,按“确定”即可在工具箱中加入该控件。
(2)建立控件数组
所谓控件数组,就是具有相同类型、名称的一组控件。控件数组中的每一个控件具有一个唯一的索引(由控件的Index属性决定)。当数组中的一个控件发生某一事件时,将调用此控件数组中的相应事件过程,事件过程中整型参数Index保存了发生此事件的控件元素索引值。
建立控件数组的方法有三种:
●设计时将同一名字赋予多个同类的控件。
●设计时复制现有的控件并将其粘贴到同一窗体或同一Frame控件等容器对象上(即先选容器对象,后粘贴)。
●设计时建立一个控件,将其Index属性置为0,运行时使用Load语句产生控件数组中新成员。语法是:Load控件数组名(新成员索引值)。
(3)多个控件的格式化
在界面设计中,对窗体上多个控件的大小、位置的安排要求一致、整齐。使用VB“格式”菜单可快速实现对所选多个控件的格式化。主要格式化功能有:
对齐:左对齐、居中对齐、右对齐;顶端对齐、中间对齐、底端对齐;
统一尺寸:宽度相同、高度相同、两者都相同;
水平间距或垂直间距:相同间距、间距递增、间距递减、移除间距。
(4)控件的命名约定
在建立了控件对象之后,VB会自动给新对象一个缺省名字。它是由对象类型加上一个惟一的整数组成,例如:Text1、List2、Picture1,这些名称只反映了控件的类型和彼此区别的序号,并无描述性,无从知晓该名称的控件在程序中所起的作用。如果在两个窗体上有两个同名的Text1控件,那就更搞不清了。为今后程序设计、调试和阅读的方便,有必要对控件的名称作些约定。建议读者用“前缀命名法”命名控件或其他对象,即前缀表示控件的类,其后是控件作用的描述性部分。由相同的前缀可以集中查找同一类控件,其后描述性部分用来区别同一类控件中的某一个。例如:用“txtName”或“txtXM”或“txt姓名”表示此文本框用于输入姓名文本。表2-2中列出了各种控件命名时的前缀。选择“帮助|索引”菜单项打开联机帮助,索引“前缀”一词,可获得更多关于变量范围、菜单名的前缀说明。