1 / 33

第 8 章 ActiveX 控件初步应用

第 8 章 ActiveX 控件初步应用. 8.1 ActiveX 控件概述 8.2 ActiveX 控件 8.3 建立和使用 ActiveX 文档 8.4 综合实例 8.5 本章小结 习题. 8.1 ActiveX 控件概述. ActiveX 控件的来源包括 3 个反面:系统提供,第三方厂商提供,用户开发。

rico
Download Presentation

第 8 章 ActiveX 控件初步应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第8章 ActiveX控件初步应用 • 8.1 ActiveX控件概述 • 8.2 ActiveX控件 • 8.3 建立和使用ActiveX文档 • 8.4 综合实例 • 8.5本章小结 • 习题

  2. 8.1 ActiveX控件概述 ActiveX控件的来源包括3个反面:系统提供,第三方厂商提供,用户开发。 ActiveX控件包含:工具栏(Toolbar)、数据组合框(DataCombo)、数据列表框(DataList)等。不同版本的Visual Basic提供的控件数量不同,其中学习版提供的控件比较少,专业版和企业版提供的控件比较 返回

  3. 8.2 ActiveX控件 • 8.2.1ActiveX控件的使用 • 8.2.2 ActiveX控件的创建 • 8.2.3 通过向导制作ActiveX控件 返回

  4. 8.2.1ActiveX控件的使用 ActiveX控件使用前,必须将其添加到工具箱中。操作步骤如下: 在菜单栏上选择“工程→部件”选项,或在工具箱中单击鼠标右键,在弹出的快捷菜单中选择“部件”选项,弹出“部件”对话框,。该对话框中列出所有可以使用的部件,包括“控件”、“设计器”和“可插入对象”等。 在“控件”选项卡中选择要插入的控件,被选择中控件名称左边的复选框中 有一个标记“√”。 单击“确定“按钮,关闭“部件”对话框,被中的控件出现在工具箱中。 例如,在“部件”对话框的“控件”选项卡中选择“Microsoft Windows Common Controls6.0”并将其添加到工具箱中,工具箱中即可增加工具栏(ToolBar)、状态栏(StatusBar)、进度条(ProgressBar)、树状视图(TreeView)、列表视图(ListView)、滑快(Slider)等9个控件。 1.工具栏控件(ToolBar)     工具栏是按钮对象的集合,默认名称为ToolBar。工具栏控件的使用可参阅5.3节中的介绍。 2.状态栏控件(StatusBar) 状态栏用于显示应用程序的运行状态,默认名称为StatusBar。状态栏控件的使用可参阅5.3节中的介绍。

  5. 3.进度条(ProgressBar) 进度条控件是一个给用户提供操作进程的动态指示器(如显示文件传输操作完成百分比)。操作过程中,该控件显示一条色带,这条色带随着时间的增加而伸长。 创建进度条的操作步骤如下: 在工具箱中选择进度条控件并画到窗体中,创建一个进度条。 按需要报告的操作范围设置该控件的属性值。 几个主要的属性: ①Height属性:设置进度条的高度 ②Width属性:设置进度条的宽度。通常进度条的宽度是高度的几备。 ③Value属性:设置或检索进度条被填充的程度。 ④Min属性:设置允许Value属性使用的最小值(下限),默认为0。 ⑤Max属性:设置允许Value属性使用的最大值(上限),默认为100。

  6. 4.数状视图(TreeView) TreeView控件显示Node对象的分层列表,每个Node对象均由一个标签和一个可选的位图组成。TreeView一般用于显示文档标题、索引入口、磁盘上的文件和目录或能被有效地分层显示的其它各种信息。类似于Win98的资源管理器的界面就可以用该控件来实现。  在设计时可以通过TreeView控件的属性页来指定控件的部分属性。在TreeView控件的属性中,比较重要的有如下属性: (1)样式(Style)属性 返回或设置Node对象的图形类型(图像、文本、+/-号、直线)以及出现在TreeView控件中每一Node对象上的文本类型。 (2)行样式(LineStyle)属性  返回或设置在Node对象之间显示的线的样式。 注意:若Style属性设置为包含直线的值,则LineStyle属性就确定了直线的外观。如果Style属性设置为不含直线的值,则LineStyle属性将被忽略。 (3)imageList属性: 读出或设置与本控件相联系的imageLis控件。 (4)Indentation属性: 设置各个新的Node对象缩进的量度。 (5)LabelEdit属性: 设置用户是否编辑本控件中Node对象的标签。它有0和1两个属性值,0代表自动编辑标签,1代表人工编辑标签。 (6)Nodes属性: 设置访问控件的NodeS对象集合。

  7. 5.列表视图(ListView) ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:  ①单击对象触发ColumnClick事件并根据数据项目将项目排序。 ②拖动对象的右边框来调整列宽度。 ③在报表视图中隐藏ColumnHeader对象。 ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。 ColumnHeader对象的SubItemIndex属性  该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。 ListItem对象的SubItems属性

  8. 返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。 ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。 ListView控件的View属性 ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。 ListView控件的SortOrder,SortKey和Sorted属性 控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。 SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。 SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。 Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。 下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。

  9. 8.2.2 ActiveX控件的创建 建立Active控件的步骤如下: 1、创建Active控件工程 通过创建新的Active控件工程开始创建Active控件。在该工程中可以创建任意数量的Active控件。为了便于使用Active控件,应当将相关的控件组合到一个工程中。 创建一个Active控件时,将显示默认的用户控件。用户控件与窗体类似,其中包含用于控件客户接口的窗口和用于处理控件事件的代码。如果要在工程内定义多个控件,可在菜单栏上选择“工程→添加用户控件”命令,即可为工程中定义的每个控件添加一个用户控件。 2、创建控件的用户接口。 在类似窗体的UserControl对象上设计控件界面,在UserControl对象上可以加入现有的各种控件。 创建控件的用户接口有3种基本方式: 组合已有控件的方式:通过将几个其他控件组合到新控件来建立控件。用于组成新控件的控件称为组元控件。例如,可以用文本框和滚动条建立一个微调控件。 增强已有控件的方式:通过向已有控件添加属性、方法和事件来建立增强的控件。例如,建立一个用户的文本框控件,该文本框提供标准文本框的全部功能,但只允许输入数值。 重新开始建立控件的方式:建立的控件称为客户设计的控件。在用户需要特效的接口或其他特殊要求时,应当重新开始建立控件。 在用户控件窗口中建立控件的用户接口时,可以按新控件的要求添加或设计控件,也可以向用户控件添加除了OLE容器外的任意控件。用户窗口激活时,该控件在工具箱中无效。

  10. 3.编写控件的程序代码 一般来说,控件的开发者希望控件能按设计要求提供一组基本功能;而控件的终端用户可能希望控件能具有某种行为的能力(单击某个按钮可实现向一个文本框输入)。可以通过向控件添加代码来满足这些需求。 Visual Basic提供了Active控件界面向导,以帮助用户映射属性、方法和事件。只要在菜单上选择“外接程序→外接程序管理器”命令,在弹出“外接程序管理器”对话框中选择“VB6.0 Active控件接口向导”并单击“确定”按钮,即可在“外接程序”菜单中添加一个菜单项“Active控件接口向导”。 在“Active控件接口向导”的帮助下,用户可创建Active控件工程和控件的用户接口,然后用该向导帮助建立控件的全部代码。

  11. 4.为控件添加属性、事件和方法 控件添加方法与创建类的方法相同。 UserControl对象及其子控件的属性,对最终用户是不可见的。用户开始创建控件时,VB赋予它一些简单的属性,如Name、Visible等。其中最主要的是Name属性,在使用控件时用于标识控件。 控件的其他属性一般通过简单显示UserControl对象或其子控件的现有属性来实现。 在“工程”菜单中选择当前工程的属性选项,可以设置Active控件工程的属性。

  12. 5.建立属性页 属性页不是一个控件必须有的,但建立属性页有助于控件的使用。几乎VB提供的所有Active控件都有属性页,VB也为用户设计的Active控件准备了4个标准属性页:StandardFont、StandardColor、StandardPicture和StandardDataFormat。如果要使用这些属性页,应在UserControl1的属性页中选种PropertiesPage属性,弹出的“连接属性页”对话框,如图所示。从中选择要用的属性页。

  13. 在测试窗体中添加Active控件并选种该控件,在菜单栏上选择“视图→属性页”选项,弹出该控件的“属性页”对话框,如图所示。该对话框包含4个选项卡,分别对应4个属性页。系统自动把字体类型的属性对应到StandardFont;把颜色类型的属性对应到StandardColor;把图片类型的属性对应到StandardPicture;StandarddataFormat用来数据格式。在测试窗体中添加Active控件并选种该控件,在菜单栏上选择“视图→属性页”选项,弹出该控件的“属性页”对话框,如图所示。该对话框包含4个选项卡,分别对应4个属性页。系统自动把字体类型的属性对应到StandardFont;把颜色类型的属性对应到StandardColor;把图片类型的属性对应到StandardPicture;StandarddataFormat用来数据格式。 如果VB提供的标准属性页不能满足要求,则用户可以定制自己的属性页。

  14. 6.测试控件 为了能在制作控件的同时进行测试,提前建立一个“标准EXE”测试工程,与Active控件工程组成工程组,随时测试控件。 测试Active控件的操作步骤如下: (1)在菜单栏上选择“文件→添加工程”选项,以便向工程组添加测试工程。可以添加已有的工程或新的工程。通过向集成开发环境添加另一个工程而创建了可以保存的工程组。然后可以打开工程组(而不是单一的工程),以便打开集成开发环境中的工程。 (2)在“工程”窗口中选择要测试的工程并设置属性。 (3)关闭Active控件工程。 (4)向测试工程中的窗体添加一个控件。 (5)将测试工程设置为启动工程。 (6)运行测试工程。演示控件将如何为终端用户操作,可根据需要编辑和调试控件。 (7)关闭和再打开工程。测试设计时属性的保存。

  15. 7.将控件编译为.OCX文件 若控件对于一个特殊应用程序是私有的,可保留在工程而不必分别编译;如果控件要提供给其他开发人员,则不必编译和分配. 8.发布控件 一旦编译了Active控件工程,就可以把该Active控件工程发布给其他程序员。随后,这些程序员就可以向应用程序中的任意窗体添加控件。 在大多数的情况下,控件使用者仅仅取得.OCX文件并不能使用控件。因为VB创建的Active控件需要VB运行的DLL,如果控件使用了子控件,可能还需要其他的支持文件。为了确保发布所有必要的支持文件,最好使用安装向导,生成Active控件的安装程序。

  16. 8.2.3 通过向导制作ActiveX控件 为了减轻用户在制作ActiveX控件时为添加属性、事件、方法或属性页所作的编码工作,VB提供了ActiveX控件接口向导。 ActiveX控件接口向导可以引导用户创建控件的属性、事件和方法,并生成相应的基本代码,但不用创建用户界面。使用ActiveX控件接口向导前,必须创建一个具有目标界面元素的ActiveX控件。 利用ActiveX控件接口向导和属性页向导可以添加各种需要的属性、方法和事件并设置其属性。

  17. 1.ActiveX控件界面向导 ActiveX控件界面向导引导用户快速地创建控件的属性、事件和方法,生成相应的基本代码,但界面仍然需要自己制作。 用向导制作ActiveX控件的操作步骤如下: (1)在菜单栏上选择“文件→新建工程”选项,在弹出的“新建工程”对话框中选择“ActiveX控件”图标,单击“确定”按钮,生成一个新的工程和UserControl1控件。 (2)在菜单栏上选择“工程→工程1属性”选项,在弹出的“工程1—工程属性”对话框。选择“通用”选项卡并填写相关内容,单击“确定”按钮。 (3)在工程中双击UserControl1,使其处于激活状态。 (4)在属性窗口中将UserControl1的Name属性修改为所需要的名字。 (5)按需求在对象窗口中添加一些控件。 (6)在菜单栏上选择“工程→添加用户控件”选项,在弹出的对话框中选择“VB ActiveX控件用户界面向导”选项,弹出“添加用户控件”对话框。 (7)单击“打开”按钮,进入VB ActiveX控件界面向导程序。在该向导的指导下,生成与控件有关的属性、方法和代码,完成ActiveX控件的生成。

  18. 2.属性页向导 属性页向导能为用户控件建立各种属性也提供帮助。 是一个外接程序。如果“外接程序”菜单中没有“属性页向导”,应使用“外接程序”菜单中的“外接程序管理器”命令加载

  19. 8.3 建立和使用ActiveX文档 ActiveX文档是信息的特殊显示。ActiveX文档可以说是一个电子表格、图形、图表或数据的任意形式显示。ActiveX文档类似于窗体,通过向工程添加用户文档,可以在工程中创建ActiveX文档。ActiveX文档服务器是用户文档的ActiveX EXE或ActiveX DLL工程。ActiveX文档服务器提供给另一应用程序ActiveX文档对象。ActiveX文档容器可以请求ActiveX文档并显示它。 ActiveX文档使用户能建立可以在网上传输的应用程序,在笔记本电脑上或在遥远的额办公室甚至在家中,都可以通过Wwb浏览器来使用。但是ActiveX文档不等于Web网页,而是一个应用程序。另外,用户可以通过浏览器把ActiveX文档和Web网页紧密地结合在一起。 返回

  20. 建立ActiveX文档服务器的一般步骤如下。 • 1、创建ActiveX文档文档服务器工程 • 创建新的ActiveX服务器工程,或把一个已有工程转换成ActiveX文档服务器,可建立ActiveX文档。该工程含有ActiveX文档。 • 操作步骤如下: • 启动一个新的ActiveX文档DLL或ActiveX文档EXE工程,把一个用户文档作为默认模块插入工程中:或启动一个新的ActiveX文档DLL或ActiveX文档EXE工程,将一个类模块作为默认模块插入工程中。 • 在菜单上选择“工程-----添加用户文档”命令,添加用户文档;或打开已有工程,将该工程转换为ActiveX文档服务器工程。 • 在菜单上选择“工程-----添加属性页”命令,将工程类型更改为ActiveX EXE或ActiveX DLL。 • 在菜单上选择“外接程序-----外接程序管理器”命令,在“外接程序管理器”对话框中选择“VB6 ActiveX文档移植向导”并单击“确定”按钮。此时,“外接程序”菜单中添加一个菜单项“ActiveX文档移植向导”。 • 在菜单上选择“外接程序----- ActiveX文档移植向导”命令,遵循该向导的指令将工程中的窗体转换为ActiveX文档。无论是按哪些步骤执行该进程,都应当在工程中ActiveX文档服务器工程和至少有一个用户文档。

  21. 2、建立用户文档 可以向ActiveX文档服务器添加一个或多个用户文档,每个用户文档定义了ActiveX文档用户接口。建立用户文档的方法类似与建立窗体,并可以向窗体中添加控件。 用户文档保存在扩展名为.dob的文件中。如果用户文档含有该图形数据,该数据保存在扩展名为.dox的文件中.这两种文件类型与用于窗体的.frm和.frx文件类似。 程序设计时,可以向窗体添加代码。同样,也可以在用户文档添加代码。但是,用户文档不能加载和卸载。向窗体Load和Unload事件过程添加的代码,通常也可以添加给用户文档的Initialize和Terminate事件。 3、开发ActiveX文档服务器的代码 可以在ActiveX文档服务器工程添加任意的其他窗体、类模块和标准模块。这些附加模块可以向用户提供ActiveX文档的支持。

  22. 4、设定用户文档属性 用户文档有效的属性与提供给窗体的属性类似。此外,HscrollSmallChange属性和VscrollSmallChange属性仅对用户文档有效。这两个属性标识用户在ActiveX文档容器的视区内(滚动时)用户文档将滚动过的距离(一twin为单位)。 5、设置ActiveX文档服务器的工程属性 在“工程”菜单中选择该工程属性命令,定义文档服务器的工程设置。

  23. 6、测试ActiveX文档 由于测试ActiveX文档需要ActiveX文档容器,因此不能简单地通过运行ActiveX文档服务器工程来测试ActiveX文档。运行诸如Internet Explorer的ActiveX文档容器应用程序可以测试ActiveX文档。 ActiveX文档容器应用程序从ActiveX文档服务器请求ActiveX文档。带有扩展名的.vbd的Visual Basic文档保存ActiveX文档的定义及其相关的ActiveX文档服务器。打开ActiveX文档容器应用程序中的Visual Basic文档时,该容器应用程序读取文件并决定实现哪个ActiveX文档服务器,以及从该服务器请求哪个ActiveX文档。因此,可以把Visual Basic文档作为对相应ActiveX文档的引用。

  24. 测试ActiveX文档的操作步骤如下: • 运行ActiveX文档服务器工程。该工程不是处于运行模式,应确认Start Mode工程属性设置为ActiveX组件。运行工程时,临时性的Visual Basic文档在工程中每个ActiveX文档的Visual Basic目录中创建。用户文档的Name属性作用与Visual Basic文档文件名,扩展名为.vbd. • 启动ActiveX容器应用程序.如果Web浏览器支持ActiveX文档,则可以使用ActiveX文档 • 用浏览器的Open功能打开.vbp文件。这些文件将驻留在Visual Basic目录中。打开文件时,ActiveX文档应当出现在浏览器内。 • 测试ActiveX文档。使用ActiveX文档的功能。由于正在按设计模式运行工程,因而可以像处理其他工程一样设置断点、观察点以及进行其他测试。

  25. 7、编译ActiveX文档服务器 在菜单上选择“工程-----生成工程”选项,Visual Basic将指定工程编译为.EXE或.DLL文件,并为ActiveX文档服务器中的每个用户文档创建文档文件(.VBD).这些文件将创建在已编译的ActiveX文档服务器的同一目录中. ActiveX文档文件可以重命名.用上述步骤创建的.vbd文件也可以测试已编译的ActiveX文档服务器. 8、发布ActiveX文档和服务器 ActiveX文档服务器编译后,就可以对其进行发布或向Web结点添加文件。随后,其他用户可以从任意的ActiveX文档容器浏览ActiveX文档。

  26. 8.4 综合实例 首先新建一个工程。在窗体中引入1个图像列表框,1个ListView控件,两个单选按钮控件和一个状态栏控件。引入控件的窗体如图所示。 其中,ImageList控件为ListView控件提供图形,状态栏显示某一列表框项目的有关信息,单选按钮用来选择是否排序。 返回

  27. 按下面步骤设置个控件属性: • (1)设置窗体属性 • 激活窗体的[属性]窗口,设置[名称]为MySetup,Caption属性为“控制面板示例”,其它属性采用默认值。 • (2)设置状态栏属性 • 激活[属性页]窗口,单击[通用]选项卡,设置[样式]属性值为“1-sbrSimple”。这时状态条以简单形式出现。 • (3)设置单选按钮属性 • 设置Option1的Caption属性为“排序”,Option2的Caption属性为“不排”,其它属性采用默认值。 • (4)设置ListView控件属性

  28. 按以下步骤设置ListView控件的属性: ①激活ListView控件的[属性页]对话框,。[属性页]对话框的[通用]选项卡选用系统默认设置。 ②单击[图像列表]选项卡,其中的[普通]列表框用来设置与ListView控件相连的ImageList控件,这里设置为ImageList1,其他采用缺省设置. ③单击[分类]选项卡,可以在这个窗口中是否排序、排序的关键字、排序的顺序等。这里不做设置。 ④其他几个选项卡不常用,就不介绍了。

  29. (5)设置ImageList控件 为了使ImageList控件能显示图标,还需在ImageList控件中引入几个图像,设置结果如图所示。

  30. 添加程序代码(略): 程序运行后界面如图所示,窗体下面的状态栏显示了对象的个数。当调整窗体的大小时,界面同样同样美观 。

  31. 当将[排序]按钮设置为真,并且选中[显示器]一项时,界面如图8-21所示。可以看到,列表项的排列方式发生了变化,状态栏的内容也发生了变化。当将[排序]按钮设置为真,并且选中[显示器]一项时,界面如图8-21所示。可以看到,列表项的排列方式发生了变化,状态栏的内容也发生了变化。

  32. 8.5本章小结 Visual Basic 应用程序的界面主要由控件构成。Visual Basic工具箱提供了命令控件、文本框等常用控件。这些控件总是出现在工具箱中,可以直接使用,这种控件称为标准控件,又称内部控件。标准控件包含在Visual Basic的.EXE文件中,系统安装后,即可直接使用。 Visual Basic工具箱中只有20个标准控件,对于复杂的应用程序,这些控件是不够的。ActiveX控件以单独的文件存在,是Visual Basic工具箱的扩充。ActiveX控件可以被添加到工具箱中,也可以从工具箱中删除。ActiveX控件的使用方法与其他标准控件完全一样。在程序中添加后,即可成为开发和运行环境的一部分。 ActiveX控件包含:工具栏(Toolbar)、数据组合框(DataCombo)、数据列表框(DataList)等。 创建ActiveX控件的步骤包括: (1)创建“ActiveX 控件工程(2)在UserControl1对象上添加可能得到的各种对象。(3)编写程序代码。 (4)参考类的创建,为控件添加属性、事件和方法。 (5)如果需要,可以为控件建立属性页。 (6)建立一个标准的EXE工程测试所建立的ActiveX 控件。 (7)编译成OCX文件发布 返回

  33. 习题 • 一、思考题 • 说明创建Active控件的主要步骤。 • 试说明Active控件与标准控件的差异。 • 如何在应用程序中使用工具栏和状态栏控件?试举例说明。 • 通过向导完成Active控件Add_Name的制作。 • 二、程序设计题 • 1.用工具栏控件设计一个工具栏,其功能和界面自定。 • 2.用状态栏控件设计一个状态栏,其功能和界面自定。 • 3.创建一个能显示日期和时间的Active控件。 • 4.设计一个输入学生信息的Active控件,该控件可以输入姓名、性别、年龄和机关信息,如果输入的姓名与已输入姓名不重名,即添加到学生名清单中 返回

More Related