




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章VisualBasic多媒体程序设计概要4.1VB应用程序集成开发环境4.2VB编程的基本概念4.3第一个VB多媒体程序,返回主目录,第4章VISualBasic多媒体程序设计概要,VisualBasic(以下简称VB)是由美国著名的软件公司MicroSoft开发的,目前使用人数最多的可视化Windows应用软件开发工具。它的功能强大、使用简便,能以最轻松、最有效的程序设计开发出多媒体应用软件。VB当前最高版本为6.0版。第3章介绍的创作工具是一种通用性好,但灵活性较差的多媒体应用软件开发工具。它们能生动地把照片、插图、音乐、声音、动画和视频在屏幕上组合起来,并提供各种各样的内置特殊效果和交互式控件功能,用鼠标单击或拖动操作就能产生漂亮的多媒体应用软件。但是,这也使完成工作需遵循固定的套路,它们的可扩展性和灵活性较差。,VB是一个可完全扩展的开发系统,也是一种真正的编程语言,它不但具有灵活性,还具有创作工具的简单性和快速开发的特点。该编程语言使用了可视化编程和对象技术,使得编程更加直观、高效。在多媒体程序设计方面,VB不但自身提供了MMControl控制对象及多媒体控件,还提供了对众多第三方多媒体控件的支持及API(Windows应用程序接口,ApplicationProgrammingInterface)函数的调用。这样,除非用户想开发Windows的低级函数,对其他应用软件的开发,VB几乎无所不能。在本章中,先介绍VB应用程序集成开发环境,然后介绍VB编程的基本概念及VB内在的多媒体特征。,4.1VB应用程序集成开发环境,第一次启动VB6.0时,可以见到集成开发环境的主要界面,如图4.1所示的屏幕。VB的集成开发环境包含了以下11个部分,分别是菜单条(MenuBar)、上下文菜单、工具栏(ToolBar)、工具箱(ToolBox)、窗体(Form)设计器窗口、对象浏览器、代码编辑器窗口、窗体布局窗口、立即/本地和监视窗口、属性窗口(PropertiesWindow)及工程窗口(ProjectWindow)。开发VB的应用程序并非是一开始就写程序,而是先在窗体中安排各式各样的控制项目,即所谓的对象,然后才编写程序。以下分别介绍图4.1中VB集成开发环境常用的六个部分。,图4.1VB应用程序集成开发环境,1.主窗口主窗口如图.1中的最上部,由标题栏、菜单条和工具条组成。标题栏中的标题为“工程1-MicrosoftVisualBasic设计”,说明此时集成环境处于设计模式。菜单条中包括11个下拉式菜单。菜单条下面是工具条,其中有很多工具按钮。标题栏的左端带有一个小矩形的方框是Windows系统中的每个窗口都有的控制菜单框,可打开系统控制菜单,标题栏的右边是最大化按钮、最小化按钮和关闭按钮。在工具条的右边有两个数字的乘积,靠左边的是位置指示,它指出激活对象(具有输入焦点)的位置,单位是“堤”(Twip,1/1440英寸),右边是大小指示,即长乘宽。,主窗口虽然在启动时显示在屏幕的顶端,但它的位置是可以改变的,可放在屏幕的任何地方。(1)菜单条(MenuBar)。VB的主窗口上标题栏之下为“菜单条”,菜单条包含各种关于项目制作的命令集,例如,“文件”、“编辑”、“视图”、“运行”、“调试”、“工具”、“窗口”及“帮助”等命令集。“文件”(File)命令集主要是用来组织各种文件,包括新建工程、打开工程、添加工程、保存工程、生成工程、打印、退出等选项;“编辑”(Edit)命令集是指处理编辑各种对象时所用的命令,如撤消(Undo)、剪切(Cut)、复制(Copy)、粘贴(Paste)等;,视图”(View)命令集则是用来查看或显示编码(Code)、程序(Procedure)及工具条等窗口的;“运行”(Run)命令集是用来控制新编程序的执行;“调试”(Debug)命令集主要是用来控制程序执行时的各种情形,包括一步步(SingleStep)执行的观察;“工具”(Tools)命令集有菜单编辑器工具及用来设置程序项目的环境选项;“窗口”(Window)命令集主要是用来控制各种窗口的显示与否;最后一个为“帮助”(Help)命令集,则是内含VB的帮助指导系统。,(2)工具栏(ToolBar)。工具栏紧贴在菜单条之下,工具栏(ToolBar)窗口提供程序环境下对于常用命令的快速访问,单击工具栏上的按钮,则执行该按钮所代表的操作。按照缺省规定,启动VisualBasic之后显示“标准”工具栏。附加的编辑、窗体设计和调试的工具栏可以从“视图”菜单上的“工具栏”命令中移进或移出。工具条还包括用来控制节目播出的控制面板。2.工具箱窗口(ToolBox)工具箱窗口(如图4.2所示)位于屏幕的左方,包含了很多图形对象,在VB中称它们为控制部件(Controls,或称控件)。控制部件本身也被视为对象,它们大都是用来作IO控制,用户可以用它们来执行输入及输出动作。,图4.2工具箱窗口,这些工具是应用程序的集成开发环境中用于设计应用程序的人机界面或用于执行某一特定功能。其中大部分是VB中的内部控件,例如CommandButton和Frame控件。这些控件都在VisualBasic的.exe文件中。内部控件总是出现在工具箱中,不像ActiveX控件和可插入对象那样可以添加到工具箱中,或从工具箱中删除。还有一类控件是ActiveX控件,它是扩展名为.ocx的独立文件,其中包括各种版本VisualBasic提供的控件(DataCombo,DataList控件等等)和仅在专业版和企业版中提供的控件(例如Listview、Toolbar、Animation和TabbedDialog),另外还有许多第三方提供的ActiveX控件。每种内部控件的使用方法,在下面讨论控件及其属性时再作详细介绍。,工具箱窗口可根据需要显示或隐藏。请注意这里的工具和工具条中的工具按钮的区别,工具按钮执行一种命令,而工具箱是设计应用程序界面的工具。下面按从左到右、自上而下的顺序,介绍图4.2工具箱窗口中各个图标的作用。(1)“指针”(Pointer)。“指针”是在鼠标所指的地方形成箭头,一旦用户指向某对象并且按一下鼠标上的按键,该对象即被选择。(2)“图片框”(PictureBox)。“图片框”主要的功能就是输出与呈现图形,可以调用绘图函数的图片框画点、线或其他的图形,也可以把一个现成的图形文件输入至图片框中。,图片框可以载入三种形式的图形文件,分别是“*.BMP”、“*.ICO”及“*.WMF”文件。“*.BMP”是位图文件(Bitmap)的图形,例如,以PaintBrush或中文版的画图绘图软件所产生的图形文件;“*.ICO”则象征图标文件(Icon);至于“*.WMF”,为图形的元文件(WindowMetaFile),其文件中包含了一串绘图命令。(3)“标签”(Label)。“标签”的性质有点类似于字段,但它只能显示输出的字符串,不能像字段一样,改变它所包含的字符串。,(4)“文本框”(TextBox)。“文本框”是字符串输入、输出的装置,可以输入字符串,也可以显示输出的字符串。(5)“框架”(Frame)。“框架”可设计一个框形的对象呈现在窗体窗口当中。(6)“命令按钮”(CommandButton)。“命令按钮”用来下达命令以控制程序的执行。(7)“复选框”(CheckBox)。“复选框”的表现方式是一个正方形中央打个“”。一个“确认框”就是一个选择项,有点像是非题,如果选择该选择项表示确认了该项功能,没有选择表示不具备该项功能。在组中使用复选框控件显示多个选项,用户可从中选择一个或多个选项。,(8)“选择按钮”(OptionButton)。“选择按钮”是以组(Group)的方式显示在窗体上,也就是说,一个窗体上可能会包含了好几个选择按钮,这些选择按钮彼此都是互斥的,它们提供了许多选项,用户可以从中挑选一个选项。(9)“组合框”(ComboBox)。“组合框”是由文本框及列表框混合而成的,除了提供类似于列表框的功能外,可以让用户直接从文本框输入选择项。其优点是用户可以输入列表框中所没有的选择项,而且,如果列表框中的选择项目太多,用户可以直接输入,避免从头寻找费时费力。,(10)“列表框”(ListBox)。“列表框”包含了许多文件可供用户选择,当用户以鼠标按其中一个文件时,该文件会被选取并出现反白。如果文件大多,超过“列表框”可以显示的范围,则“列表框”的右边会自动出现滚动轴,让用户可上下滚动。(11)“水平滚动轴”(HorizontalScrollBar)。“水平滚动轴”构造了左右两端的箭头,用户可以在左右两端移动滚动框。(12)“垂直滚动轴”(VerticalScrollBar)。“垂直滚动轴”构造了上下两端的箭头,用户可以在上下两端移动滚动框。,(13)“时钟”(Timer)。“时钟”能产生一种时间的事件程序,而且,事件必须是由系统引发的。(14)“磁盘列表框”(DriveListBox)。显示系统中所有可供选择的磁盘驱动器目录,可以用鼠标选择其中的项目并设置目前的工作磁盘,这样的设置会使“磁盘列表框”产生一个改变的事件,并将其磁盘驱动器特性设计为所选择的工作磁盘。(15)“目录列表框”(DirectoryListBox)。可显示当前磁盘驱动器下的目录结构。(16)“文件列表框”(FileListBox)。可显示并列出目前工作目录下所有的文件。,(17)“形状”(Shape)。它是加入矩形、方形、圆形、椭圆等图形时使用的工具;(18)“直线”(Line)。它为画直线的工具。(19)“图像”(Image)。呈现位图、图标、按钮等图像数据。(20)“数据”(Data)。可将现有的数据库文件接收进来,呈现在窗体窗口上。(21)“对象链接与交换”(ObjectLinkingExchanging-OLE)。可将对象嵌入项目当中。,3.窗体设计器(Form)窗体设计器窗口在图4.1中间部分。在VB中,窗体(有时称为表图、视窗或表格)是应用程序表演的“舞台”,在其上可放置“道具”在VB中被称为控制部件(Control)。窗体和可放置其上的控制部件在VB中都被视为“对象”(Object)。,4.项目管理器(Project)项目管理器窗口中包括了正在编写的VB应用程序所含文件的清单(如图4.1所示)。其中具有后缀.OCX的文件,是VB的扩展工具所需的文件,在项目管理器窗口中每增加一个.OCX文件,工具箱中会增加一个或多个工具(一个扩展文件可能包括多个工具)。注意:用这种方法我们可以向VB中加入第三方用户(3rdParty)控件。当VB启动时,虽然还没有任何应用程序调入,但VB已经打开了一个缺省的新项目,名为Project1,这就是项目管理器窗口的缺省标题。项目管理器窗口中列出了缺省项目的所需文件。项目管理器窗口是用户维护应用程序的文件的区域,用户根据程序需要,增加或删除项目中的文件,其结果都反映到项目管理器窗口中来。,每个正在设计的VB应用程序,都有一个后缀为.VBP的文件,这就是项目源文件,其内容就是项目管理器窗口中显示的文件。而.VBP文件的文件名就是项目管理器窗口上的标题。VB中同时只能打开一个项目,打开新项目就要关闭原来的项目。利用“File”(文件)菜单或工具条上的按钮,可向项目增加新文件或删除已有的文件。项目管理器窗口标题下有两个按钮,一个是“ViewForm”(查看窗口),另一个是“ViewCode”(查看代码)。当窗体不可见时可选择窗体文件名,再按“ViewForm”按钮,从而显示对应窗体,按“ViewCode”可打开窗体的代码窗口,在其中可查看和编辑程序代码。,5.属性窗口(Properties)图4.1中右下部是属性窗口,其中包括所选窗体或控件的所有在设计时可更改属性(Properties)的列表。系统赋予的只读属性和运行时才有的属性都未在属性窗口中列出。所谓属性是标志对象的外观和功能。改变对象的属性,就是改变对象的外观或改变对象的功能。以上五个窗口,除主窗口外,都可随时关闭,关闭主窗口则退出VB。集成开发环境中用到的不止这五个窗口,另外还有代码窗口(前面已提到)、调试窗口(运行正在设计的程序时才出现)、调色板窗口(用于改变前景色和背景色)和菜单设计窗口(用于设计窗体上的菜单)。,4.2VB编程的基本概念,4.2.1Windows的工作机制1.三个重要概念(1)窗口。窗口是一种有边界的矩形区域,例如,资源管理器窗口、Word的文档窗口、对话框窗口、按钮、图标、菜单条等。(2)事件。事件是通过鼠标、按键的操作、程序的控制或其他窗口所产生的操作或行为。,(3)消息。发生事件时就引发一条消息并发送到操作系统。2.事件驱动模型事件驱动具有非过程化的特点,在事件驱动模型中,程序代码不是按照预定的顺序执行,而是在响应不同的事件时执行不同的代码片断。3.Windows的工作方式Windows操作系统通过给每一个窗口提供一个唯一的标识符(窗口句柄Hwnd)来管理所有的窗口。操作系统连续地监视每一个窗口的活动或事件信号。当发生事件时,将引发一条消息,操作系统处理该消息并广播给其他窗口。最后,每一个窗口根据自身处理该条消息的指令而采取适当的操作。,4.2.2VB中的对象对象是代码和数据的组合,可以作为一个单位来处理。对象简单地说就是我们经常看到的各种窗口、按钮、文本框甚至打印机等。对象可以是应用程序的一部分,比如可以是控件或窗体。整个应用程序也是一个对象。具体地说,在VB中有以下几种对象。1.全局对象所谓全局对象是应用程序在程序的任何层次都可访问的对象,共有以下五种:(1)APP。正设计的应用程序,它的属性决定或指定应用程序的标题、路径、可执行文件名以及帮助文件名等。,(2)Clipboard。它就是Windows中的剪贴板,在VB应用程序中可用关键字Clipboard来访问它,从而操作其上的数据或图形,即将数据放到剪贴板上或从剪贴板上取回数据。(3)Screen。计算机屏幕,它是应用程序窗口的“容器”,通过它可设置应用程序的窗口在屏幕上的位置以及鼠标指针的形状。(4)Debug。调试窗口,当应用程序在VB集成环境中运行时才显示出来,调试程序用。(5)Printer。打印机,联机的打印机也是一个对象,应用程序可操作它在纸上输出结果。,2.程序界面对象(1)Form。VB工程中的每一个窗体都是独立的对象,并且像控件对象,它们提供一些事件过程,可作为程序界面或对话框。绝大多数情况下,我们一般把窗体当作在其中能放置控件的框架,它是应用程序界面中的部件或对话框中的部件的“容器”。(2)Control。控制部件(控件),这是和用户交互的标准部件,命令按钮、文本框、列表框、滚动条、菜单等都属此类。除菜单控件外,所有控件都可用工具箱中的工具“画”出来。菜单控件是用菜单设计窗口作为工具设计出来的。界面设计就是在窗体上放置控件并指定其属性。,3.数据访问对象数据库是对象,并且还包含其他对象,如字段、索引等。VB的专业版可以操作数据库,数据访问对象是为访问数据库而设的。,4.2.3VB程序设计的要素通常一个VB程序至少含有一个窗体,在这个窗体中可以包含一个或多个对象,并以控件的形式存在。控件不仅拥有属性(属性决定控件的外观和功能),还有事件过程,它决定当控件由一个或几个操作行为(或称为事件)激活时所发生的事情。1.属性(Properties)的定义属性是一个对象的性质,它决定对象的外观和一般行为。对象的属性中,有的属性在设计时可更改,可通过属性窗口加以设置;有的属性是系统赋予对象的,只能在运行时访问这种属性,但不可更改;有的属性仅在运行时才可访问和更改。后两种属性都不会出现在属性窗口的列表中。,在程序代码中,可利用如下的语句访问对象的属性:对象名.属性其中,对象名和属性间用“”连接,若省略对象名,则指当前具有焦点的对象。上述组合可看作为一个变量。既可对其赋值(除非只读属性),也可将其值赋予别的变量。2.事件(Event)的产生所谓事件就是系统可以感知的用户操作信息,可以看作是系统对对象的响应。“事件”在Windows中称为“消息”,但在VB中将消息称为事件,就更易于理解和使用。事件通常触发VB程序中的一段代码。事件可分为鼠标事件、键盘事件和其他事件。每个对象都可引发的事件,在VB中都已经准备好对应的事件过程,程序员只需编写响应事件的代码。,3.函数(Function)、过程(Procedure)和方法(Method)的作用(1)函数。函数是包含操作数据的程序语句集。当我们需要完成某种任务时、我们就得调用过程;当我们需要返回值时,我们就调用函数。VB包括几十种函数,这些函数执行通用的操作,如修改字符串的前导空格或去掉其尾部空格或计算一个角度的余弦。(2)过程。在VB中,每个对象可引发的事件过程的模板都已经准备好,在设计时,双击控件,可打开与此控件有关的代码窗口,在过程下拉列表框中,列出了这个控件可能引发的事件对应过程。选择某一过程可打开该过程的代码模板。另一种过程就是函数,和对象相联系的函数用于改变或设置对象的某种属性,例如,Loadpicture函数可设置窗体的Picture属性。,(3)方法。VB中的窗体和控件对象给我们提供了一种特殊类型的过程,它在程序控制下工作,可以看作是对象的动作。在面向对象(ObjectedOriented)程序设计中,这样的过程叫作方法。方法是一种特殊的过程,它和过程的差别是它从属于特定的对象。因此,调用时必须指明对象,方法的调用语法为:对象名.方法参数对象名和方法之间用“”连接。若省略对象名,则对象指当前的活动对象。例如,调用Debug对象的Print方法,可用语句:Debug.Print,4.模块(Module)的组织在VB中开发应用程序的最重要的阶段是设计阶段。很明显,需要为应用程序设计一个用户界面。但需要设计代码的结构就不那么明显了。构造应用程序的方法不同,所造成应用程序的性能及代码的可维护性、可使用性也不同。VB应用程序的代码是以分层方式组织并存储在模块中的。典型应用程序应包括若干模块:应用程序中每个窗体的窗体模块、共享代码的可选标准模块以及可选的类模块。每个模块包含若干含有代码的过程:Event事件过程、Sub子过程或Function函数过程以及Property属性过程。,简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。而当应用程序庞大复杂时,就要另加窗体。最终可能会发现在几个窗体中都有要执行的公共代码。因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。独立模块应为标准模块。此后可以建立一个包含共享过程的模块库。对于每个标准模块、类模块和窗体模块都可包含:声明及过程。声明:可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的模块级。过程:可以是Sub、Function或Property过程。它包含可以作为单元来执行的代码片段。,VB的代码存储在模块中。模块有三种类型:窗体模块、标准模块和类模块。下面简单介绍窗体模块、标准模块以及类模块的使用。(1)窗体模块。窗体模块(文件扩展名为.FRM)是大多数VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果在文本编辑器中打开窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的,但加上对象名后,它也可以被该应用程序内的其他窗体或对象所引用。如在Form1中引用Form2的对象时可用:form2.对象名.属性。,(2)标准模块。标准模块(文件扩展名为.BAS)是应用程序内其他模块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上。(3)类模块。在VB中类模块(文件扩展名为.CLS)是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口。,4.2.4VB中的窗体和常用控件下面我们介绍VB中窗体和常用控件的属性、事件、过程和方法。1.窗体(Form)如前所述,窗体就是应用程序表演的舞台,其上放置的控件就是布景,舞台加布景组成了程序运行的界面。(1)属性。在界面设计阶段,当窗体处于激活状态时,打开属性窗口可看到窗体的一系列属性。以下只介绍常用属性。Name:应用程序中第一个窗体的缺省名为Form1,以下类推。这是对应窗体在程序中的标识符。可设置为与功能有关的名字、VB中的所有控件都有此属性,使用原则相同,对于其他控件不再一一介绍。,注意:不能使用汉字。Caption:显示在窗体标题栏中的字符,缺省名与Name属性相同,也可以没有标题,可使用汉字。这也是一个共同的属性。AutoRedraw:逻辑值,控制窗体是否自动刷新。当窗口被覆盖或缩为图标后重新显示时,若此属性为False(假),则不能重画窗口内原来的图像,这时要调用一个事件过程来执行重画窗口的任务。BackColor、ForeColor:前者设置窗体的背景色,后者设置窗体上显示的字符或图形的前景色。从属性窗口中查看这一属性的缺省设置会发现,其值如H80000005,这是一个十六进制的常数,代表了一种颜色。,和颜色有关的属性都有调色板可用于设置颜色值。BorderStyle:设置窗体的边界风格。可取值如表4.1所示。ControlBox:逻辑值,为True(真,在VB中以-1代表真,其余值为假)时,在窗体的左上角显示控制菜单框,从而可打开窗口的控制菜单。当设计一个软件封面时,可能不需要这一功能,此时可设为False。Enabled:逻辑值,每个VB的对象都有此属性。可使对象的功能有效或失效。对窗体来说,一般应设为True,但若要禁止键盘和鼠标动作对窗体的影响,可设为False。FontName:设置窗体上显示的正文的字体。可在属性设置框中拉出可用字体的列表,从而可从中选择。运行时如改变这一设置,只影响设置以后显示的字体。,表4.1BorderStyle属性值,FontSize:设置字号。设置方法同上。字号的单位为“点”(1/72英寸)。FontBold、FontItalic、FontStrikethru、FontUnderline:均为逻辑值,设置正文的风格。Top、Left、Height、Width:决定窗体的位置和大小。WP和Left是窗体左上角的坐标(以屏幕左上角为原点),Height和Width是窗体的高和宽,单位均为“堤”(Twip,1/1440英寸)。一般这几个属性可通过鼠标的拖放加以设置(就像操纵标准窗口一样)。Picture:指定在窗体上显示的点位图。在属性窗口的设置框右边有省略号,单击它拉出一个对话框,从中可指定点位图的文件名。在运行时要用LoadPicture函数来设置它。,(2)事件。窗体可接收的事件很多。最常用的事件为Click(单击鼠标左键)、DblClick(双击鼠标左键)和Load(向内存中装载窗体)事件。Click:当用户单击窗体上的不包括任何对象的区域时,引发这一事件,VB调用和此事件相联系的FormClick事件过程(如果其中有代码的话)。DblClick:在窗体上的同一地点(不包括任何其他对象)双击鼠标左键引发这一事件,从而执行FormDblClick过程。Load:一旦向内存中装载窗体,如启动应用程序时,自动产生此事件,相应的FormLoad过程被执行。此事件过程很适合在启动应用程序时对属性和变量进行初始化。,(3)过程和方法。Cls:清除窗体上在运行时写入的文本和图形。在设计阶段放入的图形和控件不受此方法的影响。用法如下:窗体名.Cls此方法不带任何参数。LoadPicture:用于设置窗体的Picture属性。用法如下:LoadPicture(图形文件名)图形文件可为点位图(后缀为.BMP)、图元文件(后缀为.WMF)或图标(后缀为.ICO),如不指定文件名,则指定一个空图形。Print:向窗体书写文本。其用法和Basic中的Print语句相似:对象名.Print表达式;|,.,每个表达式后有一个分号或逗号。如使用分号,则下一个表达式紧随在上一个表达式的最后一个字符之后;如果用逗号,窗体上的输出位置前进到下一个制表位(每个制表位定义为14个字符)。如果最后的表达式后有分号或逗号,则在窗体上不换行,否则,输出位置将设置到下一行。此方法除用于窗体之外,还可用于打印机对象(Printer)和调试窗口对象(Debug)。除以上方法之外,窗体上还支持一些图形方法,如画直线、画圆等,用到时可参照帮助。,2.窗体上的控件(Control)窗体上的所有控件都是用工具箱中的工具通过鼠标的拖拉“画”出来的。当一个控件被选择时,属性窗口中显示该控件的属性列表,以备修改(改变设置)。下面介绍图4.2所示的工具箱中常用的几种控件。(1)图片框(PictureBox)和图像控件(Image)。这两个控件用于在窗体的特定位置上显示图形信息。它们可以显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG或GIF文件的图形。如果控件不足以显示整幅图像,则裁剪图像以适应控件的大小。,由于Image控件使用较少的系统资源,所以重画起来比PictureBox控件要快,但是它只支持PictureBox控件的一部分属性、事件和方法。用Stretch属性确定是否缩放图形来适应控件大小,反之亦然。虽然可以把Image控件放在容器里,但是Image控件不能作为容器。属性:图片框和图像控件共有的属性有Enabled、Height、Left、Name、Picture、Top、Width。这些属性与窗体中的对应属性意义一致,但Height、Width、Left、Top这四个属性值指的是窗体中的坐标,而不是屏幕的绝对坐标,这一点对窗体中的所有对象都如此。图片框很像主窗体中的小窗口,它具有图像控件没有的属性:AutoRedraw、FontBold、FontItalic、FontName、FontSize、FontUnderline,这些属性与窗体中的对应属性的意义相同。,事件:可接收的事件和窗体基本相同。过程和方法:可调用LoadPicture函数设置图片框或图像控件的Picture属性。图片框还支持Cls和Print方法,以及图形方法Circle、Line、PSet、Point。Circle在对象上画圆、椭圆或弧,Line在对象上画直线和矩形,PSet将对象上的点设置为指定颜色,Point按照长整数,返回在Form或PictureBox上所指定点的红绿蓝(RGB)颜色。,(2)形状(Shape)。Shape控件是图形控件,显示矩形、正方形、椭圆、圆形、圆角矩形或者圆角正方形。属性:除共有的属性外,最有用的是Shape属性,它的取值如表4.所示。事件、过程和方法:该控件仅有Move、Refresh、Zorder三种方法。(3)标签(Label)。标签提供了显示正文信息的区域,它可用作窗口的状态条、文本区或列表框的标签。这是设计应用程序界面的重要元件。,表4.Shape属性值,属性:标签的标准属性有与正文字形有关的FontBold、FontItalic、FontName、FontSize、FontUnderline以及与位置和大小有关的Height、Width、Left、Top等,其他重要属性如下:Name:在代码中的该控件的标识符。Caption:标签中显示的文本,这是标签控件最重要的属性。在设计阶段可用属性窗口设置,在运行阶段可用以下标识加以访问(改变设置或读出设置):窗体名(Name属性).标签名(Name属性).CaptionAlignment:决定如何放置标签中的文本(Caption属性)。可取值如表4.3所示。,表4.3Alignment属性值,AutoSize:若为True,自动改变标签的大小以适应正文;若为False时,标签大小不变。若正文太长,将被截短,以适应标签的大小。BorderStyle:若为0时无边框,为1时为单线边框。事件、过程与方法:标签只接收Click、DblClick事件,但事件对标签并不重要。,(4)文本框(TextBox)。文本框创建一个窗口内的区域,用户可以在该区域中输入和编辑文本。在界面设计中,文本框常用来输入用户信息,与应用程序进行交互。属性:文本框的标准属性包括:BorderStyle、Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline、Height、Left、Name、TOP、Width等,这些属性与前面介绍过的意义相同;另外还有以下属性:MaxLength:缺省值为0,它表示文本框可以接受任意多的输入字符。MultiLine:若为True,则可输入多行文本,按回车键换行;若为False,只能输入一行正文。,PasswordChar:缺省的属性为一个空字符,意为用户可以看到输入的字符。若为一个字符(比如*),则表示该文本框是一个口令域,当给应用程序加人口令时,应使此属性为一个非空字符。Text:程序读入该属性,以便查看用户输入的内容,也可由程序修改,以改变文本框中显示的正文。事件文本框没有鼠标器事件,但可以监视用户的击键动作。KeyPress:用户击键动作引发这一事件。在此事件过程中,可过滤用户的输入。,Change:当文本框的Text属性发生变化时引发这一事件。但要注意,如果用户输入12345时,每输入一个字符发生一次Change事件。LostFocus:当输入光标离开文本框时发生这一事件。常用此事件过程检查Text属性的内容。过程和方法:文本框中最有用的方法就是SetFocus,它把光标放在特定的文本框中。在创建有多个文本框的窗体时,通过该方法可把用户的输入焦点放在最重要的文本框上,其句法如下:对象名.SetFocus其中,对象名为文本框的Name属性。,(5)命令按钮(CommandButton)。命令按钮在用户按下时可视为执行了一个命令。当然,引发何种动作是由事件过程中的程序决定的。属性:除以前介绍的共有属性外,以下属性对命令按钮非常重要。Caption:它是显示在命令按钮上的字符串。对命令按钮来说,应该给出一个对其功能有明确说明的标题。可以使用汉字。Cancel:若为True,按Esc键,和按该按钮的效果相同。Default:若为True,按回车键和按该按钮效果相同。,事件、过程和方法:最常用的事件是Click事件。按命令按钮所执行的动作就是由该事件过程中的程序代码决定的。(6)单选钮(OptionButton)、复选钮(CheckBox)。这两个控件都是用来表示状态或者某种选择的,经常用在对话框中,以便用户作出选择。属性:对单选钮和复选钮来说,除共有的属性外,最有用的是Value属性,它表示按钮的状态。对于单选钮,Value的值可取为True和False;对于复选钮,Value的值可取为0、1和2。其中,0表示没有选中,1表示选中,而2表示禁止(以灰色显示)。,事件、过程和方法:这两个按钮虽然可接受Click事件,但意义不大。(7)框架(Frame)。框架用于将屏幕上的对象分组。当将几个单选钮放在框架中时,这几个按钮成为一组,从中只能选择一个。对于其他对象,它提供了视觉上的区分和总体激活及屏蔽性。属性:最重要的当属Caption属性,它是显示在框架上的文本(标题)。Enabled属性对框架也很重要,当将其设置为False时,框架上的标题正文变灰,其上所有的对象都被屏蔽(不可操作状态)。,事件、过程和方法:框架不响应任何事件,其上不能显示正文(除标题外)和图形。(8)列表框(ListBox)。列表框列出可供选择的选项,让用户选择(用鼠标单击它)。如果列表项目太多,框中显示不完,此时,列表框会带有垂直滚动条。属性:除了一些标准属性外,与列表框特别有关的属性有:List:该属性是一个数组,其中保存了所有列表项。在设计时不能修改,用以下句法可访问列表框中的列表项:对象名.List(列表项的编号),其中,对象名为列表框的Name属性,列表项从上到下编号,第一个的编号为0。ListCount:列表框中列表项的数目。不能直接修改。ListIndex:最后选中的列表项编号。如果未选中任何项目,则其值为-1。Text:最后一次选中的列表项中的正文。不能直接修改。它的内容与List(ListIndex)相同。事件、过程和方法:列表框接收Click和DblClick事件。一般来说,用户选择了一项之后还可能改变选择,所以不用编写Click事件过程的代码。,列表框使用的方法包括AddItem、Clear和RemoveItem,用于在运行时修改列表框中的内容。AddItem:用于在列表框中插入一个列表项(正文)。可以指定插入的位置,如未指定,则插入到所有列表项之后。用法为:对象名.AddItem列表项正文,插入位置编号Clear:删除列表中的所有项。RemoveItem:用于从列表框中删除一项。用法为:对象名.RemoveItem删除项编号(9)组合列表框(ComboBox)。组合列表框是文本框和列表框的组合,它的功能由Style属性决定。,属性:Style:确定组合列表框的类型和功能,各设置值的作用如表4.4所示。,表4.4Style属性值,事件、过程和方法:按设定的时间间隔产生计时器事件。可在其事件过程中编写代码,让应用程序执行一定的动作。此控件没有方法与之相联系。(11)通用对话框(CommonDialogControl)。通用对话框不是VB中内建的控件,使用它必须有扩展工具文件CMDIALOG.OCX的支持,即在项目窗口内应列出该文件,可用VB的“Fi1e”(文件)菜单中的“AddFi1e”(添加文件)命令将其加到项目中来。此控件提供了一套标准的对话框,用于打开文件、保存文件、打印文件、改变颜色或字体等。此控件在设计时只在窗体内显示一个图标,不可改变它的大小。运行时才显示出对话框来,到底显示什么对话框由其属性决定。图4.3是一个显示出来的打开文件对话框。以下只介绍文件对话框(包括打开文件和保存文件对话框)。,图4.3打开文件对话框,属性:Action:指明显示的对话框类型,Action属性值如表4.5所示。,表4.5Action属性值,在代码中,应当在本控件的其他属性设置完之后,再设置Action属性为某一个有效值,运行时能显示和Action属性对应的对话框。Filter:指定显示在对话框上的类型列表框中的文件过滤字符串。用法如下:窗体名.通用对话框名.Filter=描述1|过滤字符串1|描述2|过滤字符串2.一个文件过滤字符串指定显示在对话框上的文件列表框中的文件类型。FilterIndex:指定一个缺省的文件过滤字符串的编号。如果用Filter属性指定了多个过滤字符串,可利用这一属性为打开文件和保存文件对话框指定一个缺省的过滤字符串。所定义的第一个过滤字符串的编号为1。,InitDir:指明初始的文件目录。如果未指定此属性,则使用当前目录。DialogTitle:设置在对话框的标题栏中显示的字符串。若不设置,则在打开文件对话框中显示的标题是Open,而在保存文件对话框中的标题是SaveAs。FileName:确定选定的文件的文件名和路径。事件、过程和方法:通用对话框中已经内建了对事件的处理,例如,双击目录列表项会改变显示的文件列表,双击驱动器列表项会改变目录和文件的列表。操纵通用对话框的方法和Windows中的标准方法一致。这一切都不需再编写事件过程的代码,进一步简化了程序。(12)菜单(Menu)。,在VB中菜单的设计是很简单的,设计工具是菜单设计窗口。从“Tools”(工具)菜单中选择“MenuEditor”(菜单编辑)命令,或者选择工具条上的按钮,启动菜单编辑器,如图4.4所示。菜单设计窗口中的部件及用途:标题Caption:菜单标题文本框,用来输入菜单名或命令名,它将来出现在应用程序的菜单条中。要在一系列菜单命令中用横线将命令分组,可在此文本框中键入一个连字符()。要使用户能用键盘操纵菜单命令,可在菜单名内的某字母前放一个字符“&”。程序运行时,这个字母下面有下划线,用户可用“Alt”此字母键来激活这一命令。,4.4在窗体上放一个标签控件label1,名称Name:菜单控件名文本框。在这里为菜单项指定一个标识符(Name属性)。在程序代码中可以通过这一标识符来引用此菜单命令。这个标识符并不出现在菜单中。此属性像其他控件的Name属性一样。索引Index:索引号文本框。指定菜单的Index属性(输入一个整数),用来决定此菜单项在控制数组中的位置,这一位置和其在屏幕上的位置无关。快捷键Shortcut:下拉式列表框。从中可为此菜单命令选择一个快捷键。显示窗口列表WindowList:复选钮,如果想要此菜单控件包括一个所有打开的MDI(多文档界面)子窗口的列表的话,要选择此复选钮(方框中有一个选择记号)。,帮助上下文HelpContextID:上下文帮助标识号文本框。在框中可输入一个整数,作为此菜单命令的上下文帮助标识号。复选Checked:选择复选框。如要在菜单初次出现时,在其左侧有一个被选标签“”,可选定此复选框。有效Enabled:有效复选框。如选定此复选框(有一个被选标签“”),则此菜单命令出现时即可使用(在菜单中以实文字出现);若是未选,则此菜单命令出现时是虚的。可见Visible:可见性复选框。如选定此复选框(有一个被选标签“”),则此菜单命令出现时在菜单条中是可见的,否则是不可见的。,用于改变菜单命令级别的按钮:这两个按钮用于改变菜单命令的级别。每个菜单命令还可以带有子菜单,可最多创建4层菜单。:这两个按钮可在同一层菜单中改变某菜单项的位置。菜单设计窗口的最下面为一列表框,显示出各级菜单项的列表。子菜单以缩进表示。菜单设计窗口还包括下列按钮:下一个Next:将选定内容移到下一行。,插入Insert:在当前选定行前加一行。删除Delete:删除选定的行。确定OK:关闭菜单设计窗口,并将菜单项目的改变加到所选的窗体上。取消Cancel:关闭菜单设计窗口,取消所有对菜单所作的改变。菜单对象接收Click事件,在Click事件过程中编写执行对应命令的代码。,4.3第一个VB多媒体程序,通过下面的学习,读者将会发现自己正在使用很多强大的VB功能,设计一些重要的多媒体应用程序。因此,任何VB所提供的功能对多媒体项目都是有用的,并且一些VB内在的多媒体特性将特别有用。下面让我们一步一步地学习,来领略多媒体世界的风采。窗体(From)、图像框(Image)、图片框(PictureBox)是VB内在的多媒体对象,这三个对象都有图片属性(PictureProperty)和画图方法(GraphicsMethods)等多媒体特性。画图方法在程序运行时为我们的程序提供重要的绘图功能,如画直线、矩形和圆,利用这一功能,我们可以很容易地在程序中修饰我们所设计的界面。,在VB中,允许我们于设计时或运行时为应用程序增加或改变图片,也可以移动它们、改变它们的尺寸大小。利用VB的图片剪贴控件或控件数组的技术,我们可以很容易地制作动画。我们将在以后的章节中广泛地使用图像框(Image)、图片框(PictureBox)、文本框(TextBox)和窗体(Form),并使用它们一些有用的属性和方法,来进行多媒体工程的开发与设计。下面让我们来学习第一个多媒体程序的设计。这个程序教我们如何使用VB的画图方法(这里使用Line方法)、图片剪贴控件(PictureClip)和定时器控件(Timer),来制作动画效果。,首先,我们在VB的文件菜单中新建一个工程,这时VB会自动生成一个Form1窗体。如图4.5所示,在窗体上放置一个标签控件(Label1),并在属性窗口中将其Visible属性设成假(False,因为我们希望画完线后再显示该标签,所以先将它隐藏),在Caption属性中输入文字“图形学作业”。接下来,双击Form1窗体,在出现的Code窗口(编程窗口)中单击下拉菜单,找到Form的Activate事件(该事件是窗体运行后首先会执行的事件),并对该事件编写如下程序:,图4.5在窗体上放置一个标签控件Label1,程序:PrivateSubForm-Activate()在Y坐标2660、2760、2860处,连续画三条直线Fori=2100To7600Line(2100,2660)-(i,2660),RGB(0,0,0)Line(2100,2760)-(i,2760),RGB(0,0,0)Line(2100,2860)-(i,2860),RGB(0,0,0)Nexti画完线后,将标签Label1上的文字“图形学作业”显示出来Label1.Visible=TrueEndSub,让我们先运行一下前面的程序。按F5键就可运行该程序,这时我们看到了在Y坐标2660、2760、2860处,连续画了三条直线,画完线后,文字“图形学作业”已显示出来。下面我们使用图片剪贴控件(PictureClip)和定时器控件(Timer),来制作动画效果。为了使用PictureClip控件,我们需先绘制好动画的每帧画面(注意,每帧画面必须一样大),并用PhotoShop图形处理软件将它们依动画的顺序拼成一张大图,如图4.6所示,我们将八张动画帧画面安排成2行4列(也可以根据需要安排成4行2列、8行1列或者1行8列,读者学完本例后,就会清楚如何安排)。,图4.6动画的八帧画面已安排成2行4列,现在介绍一下所使用的PictureClip控件和Timer控件的属性。在PictureClip控件中,主要用到Rows、Cols、GraphicCell三个属性:Rows、Cols属性:根据拼成的大图设定Rows、Cols的值。在这里,Rows=2,Cols=4。GraphicCell(Number)属性:它是一个一维数组,从左向右,自上而下,GraphicCell(0)表示第一帧图,GraphicCell(1)表示第二帧图,GraphicCell(Rows*Cols-1)表示最后一帧图。在Timer控件中,主要用到Enabled、Interval二个属性和Timer事件(定时器事件):,Enabled属性:为真(True)时,允许Timer事件发生;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司内部审计管理办法
- 电子商务平台产品详情页优化方案
- 机房搬迁实施方案与风险管理措施
- 小学英语一年级下册教学设计方案
- 房地产企业税务风险识别与应对策略
- 软件开发成本估算与报价策略分析
- 愚公移山辩论赛发言稿范文及思路
- 经销商销售话术与开发技巧
- 余热发电项目技术及经济分析
- 电力系统高压设备检测与维护标准
- 测绘新技术之无人机的
- 2025年新九年级数学暑假衔接讲练 (人教版)专题07 一元二次方程单元测试 (学生版)
- 气象灾害应急管理课件
- 地铁站消防维保施工方案及技术措施
- 国庆司机安全培训
- 既有建筑抗震加固性能化设计规程T-ZCEAS 1001-2024知识培训
- 十五五住房和城乡建设发展思路
- 马克思主义经典原著选读-1
- T/CUWA 60055-2023城镇排水管道螺旋缠绕内衬法修复用硬聚氯乙烯(PVC-U)带状型材
- 《职业生涯概述》课件
- 企业会计准则实施典型案例
评论
0/150
提交评论