第14章VB高级应用_第1页
第14章VB高级应用_第2页
第14章VB高级应用_第3页
第14章VB高级应用_第4页
第14章VB高级应用_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十四章第十四章 高级应用高级应用高级的或第高级的或第3方提供的标准控件之外的高级方提供的标准控件之外的高级控件,以控件,以ActiveX控件形式提供,提供的文控件形式提供,提供的文件名称以件名称以.ocx为后缀;为后缀;非常底层的低级编程接口,可以灵活地实非常底层的低级编程接口,可以灵活地实现控件实现不了的功能,以动态链接库的现控件实现不了的功能,以动态链接库的形式提供,提供的文件名称以形式提供,提供的文件名称以.dll为后缀为后缀一般放在一般放在/Windows/System目录下,也可目录下,也可以指定目录以指定目录14.1 常用常用ActiveX控件控件Animation:显示动画显示

2、动画CommonDialog:标准对话框标准对话框ImageList:图片对象集合图片对象集合ListView:四种不同视图显示,大图标四种不同视图显示,大图标/小图标小图标/列表列表/详细详细Masked Edit:受限制的数据输入及格式化数据输出受限制的数据输入及格式化数据输出MS Internet Transfer:支持支持HTTP协议和协议和FTP协议协议MSChart:提供以图形方式显示数据的图表提供以图形方式显示数据的图表MSComm:提供串行通讯功能提供串行通讯功能MSFlexGrid:对表格数据进行显示和操作对表格数据进行显示和操作Multimmedia MCI:多媒体文件的记

3、录和播放多媒体文件的记录和播放常用常用ActiveX控件控件PictureClip:保存一幅位图,可按区域选择供其它控件使用保存一幅位图,可按区域选择供其它控件使用ProgressBar:方块状的进度条方块状的进度条RichTextBox:有格式的文本编辑框有格式的文本编辑框Slider:包含滑块和刻度标记的滚动条包含滑块和刻度标记的滚动条Sstab:提供一组选项卡,每个选项卡为一个容器提供一组选项卡,每个选项卡为一个容器StatusBar:提供状态栏提供状态栏TabStrip:提供在同一区域定义多个页面提供在同一区域定义多个页面Toolbar:工具栏工具栏TreeView:分层显示数据分层显

4、示数据UpDown:上下箭头按钮,可以滚动控制值的增减上下箭头按钮,可以滚动控制值的增减WinSock:提供访问提供访问TCP和和UDP网络服务的途径网络服务的途径ProgressBar控件控件进度显示条(填充方块)进度显示条(填充方块)常用属性:常用属性: BorderStyle:边框类型,影响进度方块的数量和大边框类型,影响进度方块的数量和大小小 Height、Width:决定填充控件的方块的数量和大小,决定填充控件的方块的数量和大小,如果方块数量越多,则越能精确地描述操作进度如果方块数量越多,则越能精确地描述操作进度 Value:设置和返回当前进度值设置和返回当前进度值 Max、Min:

5、设置和返回进度的最大、最小值设置和返回进度的最大、最小值 Align:定位控件的显示形式和位置,可以显示在窗定位控件的显示形式和位置,可以显示在窗体的顶端、底端、左边、右边,自动适应窗体宽度体的顶端、底端、左边、右边,自动适应窗体宽度*注意注意*尽量缩小方块的大小,并使控件的宽度至少是宽度的尽量缩小方块的大小,并使控件的宽度至少是宽度的13倍倍Slider控件控件包含了滑块和可选的刻度标记的窗口包含了滑块和可选的刻度标记的窗口常用属性:常用属性: Value:设置或返回滑块的当前位置设置或返回滑块的当前位置 Max、Min :设置或返回的最大和最小值设置或返回的最大和最小值 LargeChan

6、ge、SmallChange :设置按页滚动或最设置按页滚动或最小滚动时滑块移动的刻度数目小滚动时滑块移动的刻度数目 SelectRange :设置决定控件能否选择范围设置决定控件能否选择范围 Orientation :设置控件是垂直还是水平设置控件是垂直还是水平 TickStyle :设置或返回刻度标记的样式,如设置或返回刻度标记的样式,如SldBottomRight, SldTopLeft, Sldboth, SldNoTicks tickFrequency :设置或返回刻度标记的频率设置或返回刻度标记的频率方法:方法: ClearSel:清除控件的当前选择,即清除控件的当前选择,即将将S

7、elStart属性属性设置为设置为Value属性,将属性,将SelLength属性设置为属性设置为0SelStart:设置或返回选择范围的起点:设置或返回选择范围的起点SelLength:设置或返回选择范围的长度:设置或返回选择范围的长度 GetNumTicks :返回在控件的返回在控件的Max和和Min属性之间属性之间的刻度数目,与的刻度数目,与TickFrequency属性有关属性有关Slider控件控件事件:事件: Scroll:当单击控件或移动滑块时发生,在当单击控件或移动滑块时发生,在Click事事件之前发生件之前发生 Change :当当Value值发生变化时发生值发生变化时发生S

8、lider控件控件 位于窗体的底部状态窗体,可显示各种状态数据位于窗体的底部状态窗体,可显示各种状态数据 由由Panel对象组成,最多可分对象组成,最多可分16个个Panel对象,对象,Panel对象包含在对象包含在Panel集合中,集合中, 每个每个Panel对象可以有文本和图片对象可以有文本和图片 可以自动显示公共数据,如日期,时间和键盘状可以自动显示公共数据,如日期,时间和键盘状态态StatusBar控件控件属性:属性: Panels:返回对返回对Panel对象的集合引用对象的集合引用 Height, Width:当设置和返回控件的高度和宽度当设置和返回控件的高度和宽度 Style :设

9、置或返回控件的类型设置或返回控件的类型sbrNormal:显示所有的:显示所有的Panel对象,为缺省设置对象,为缺省设置sbrSimple:仅显示一个大:仅显示一个大Panel,不能通过,不能通过Panel集合来访问集合来访问 SimpleText:当当Style设置为设置为Simple时,设置或返回时,设置或返回显示文本显示文本StatusBar控件控件方法:方法: Add:给给Panels集合增加一个集合增加一个Panel对象对象事件:事件: PanelClick:当单击当单击Panel对象是发生,如果对象是发生,如果Style设置为设置为Simple样式时,将不引发该事件样式时,将不引

10、发该事件 PanelDblClick :当双击当双击Panel对象是发生对象是发生StatusBar控件控件提供了提供了RTF格式文档,有丰富的文本格式,无格式文档,有丰富的文本格式,无Textbox控控件件64K的容量限制的容量限制属性:属性: Text, TextRTF:设置或返回控件的文本设置或返回控件的文本 FileName: 返回或设置装入返回或设置装入 RichTextBox 控件的文控件的文件名件名 SelRTF:设置或返回控件当前选择的文本设置或返回控件当前选择的文本 SelIndent:设置或返回向控件右边缩排的字数设置或返回向控件右边缩排的字数 SelHangingInde

11、nt:指定所选段落第一行与后面各行指定所选段落第一行与后面各行左边之间的距离左边之间的距离 SelRightIndex:设置或返回文本右边向右边界缩排设置或返回文本右边向右边界缩排的字数的字数RichTextBox控件控件方法:方法: SaveFile:将控件的内容存入文件将控件的内容存入文件 LoadFile:向控件加载一个向控件加载一个RTF文件或文本文件,文件或文本文件,加载文件的内容将取代原内容加载文件的内容将取代原内容RichTextBox1.SaveFile(filename, filetype) rtfRTF:将文本以将文本以RTF格式打开或保存(缺省)格式打开或保存(缺省) r

12、tfText:将文本以将文本以ASCII文本格式打开或保存文本格式打开或保存RichTextBox控件控件方法:方法: Find:根据给定的字符串,在控件中搜索文本根据给定的字符串,在控件中搜索文本RichTextBox1.Find(string, start, end, options) string:要查找的字符串要查找的字符串 start:查找的起始索引值,第一个字符为查找的起始索引值,第一个字符为0 end:查找的终止索引值查找的终止索引值 options:查找选项:查找选项:rtfWholeWord;rtfMatchCase; rtfNoHightlightRichTextBox控件

13、控件字体属性:字体属性: SelBold:所选文本的字体是否加粗所选文本的字体是否加粗 SelItalic:是否斜体是否斜体 SelUnderline:是否下划线是否下划线 SelStrikethru:是否阴影是否阴影 SelColor:字体颜色字体颜色 SelFontName:字体名称字体名称 SelFontSize:字体大小字体大小事件:事件: SelChange:当前的选择改变或插入点改变时发生当前的选择改变或插入点改变时发生RichTextBox控件控件 提供了树状的分层列表提供了树状的分层列表 含有含有Node对象集合对象集合 每个每个Node对象由一个标签和一个可选的位图组对象由一

14、个标签和一个可选的位图组成成TreeView控件控件主要属性:主要属性: LineStyle:各各Node对象之间显示的线的样式对象之间显示的线的样式 Nodes:返回返回TreeView控件的控件的Node集合的引用集合的引用 DropHighlight:设置光标移动到设置光标移动到Node对象上时显对象上时显示系统突出颜色示系统突出颜色 HideSelection:设置控件失去焦点时,选中项是否设置控件失去焦点时,选中项是否突出显示突出显示 SelectedItem:返回对所选返回对所选Node对象的引用对象的引用 Sorted:设置设置Node对象的子节点是否按字母排序对象的子节点是否按

15、字母排序 Style:设置设置TreeView的图形类型的图形类型 LabelEdit:设置是否可以编辑设置是否可以编辑Node对象的标签对象的标签TreeView控件控件主要方法:主要方法: HitTest:取得位于取得位于X和和Y坐标的坐标的Node对象,通常与对象,通常与拖放操作一起使用拖放操作一起使用 StartLabelEdit:允许用户编辑标签,当允许用户编辑标签,当LabelEdit属性为属性为tvwManual时,需用此方法启动时,需用此方法启动标签编辑动作标签编辑动作 GetVisibleCount:返回在控件区域的返回在控件区域的Node对象对象的个数的个数TreeView

16、控件控件主要事件:主要事件: AfterLabelEdit:在编辑当前选中的在编辑当前选中的Node对象的标对象的标签之后引发该事件签之后引发该事件 BeforeLabelEdit:当试图编辑当前选中的当试图编辑当前选中的Node对对象的标签时引发该事件象的标签时引发该事件 Collapse:当当TreeView的任何的任何Node对象被折回时,对象被折回时,引发该事件引发该事件 NodeClick:当一个当一个Node对象被单击时产生对象被单击时产生 Expand:当任何一个当任何一个Node对象被展开时,引发该对象被展开时,引发该事件事件TreeView控件控件(Nodes是是Node对象

17、的集合)对象的集合)属性:属性: Root, Parent, Child, FirstSibling, Next, Previous, LastSibling:返回与当前返回与当前Node对象某种关系的其它对象某种关系的其它Node对象(根,父,子,第一个兄弟,上一个兄弟,对象(根,父,子,第一个兄弟,上一个兄弟,下一个兄弟,最后一个兄弟)下一个兄弟,最后一个兄弟) Index:唯一标识一个节点的索引值唯一标识一个节点的索引值 Item:利用位置利用位置(Index)或键或键(Key)返回集合中的成员返回集合中的成员 Key:唯一标识一个节点的名称唯一标识一个节点的名称 Selected:确定

18、一个节点是否选中确定一个节点是否选中 Sorted:确定某节点的子节点是否按字母排序确定某节点的子节点是否按字母排序 Text:返回或设置节点中的文本返回或设置节点中的文本TreeView控件控件Node对象的使用对象的使用在在Nodes集合中添加节点:集合中添加节点:Add(relative, relationship, key, text, image, selectedimage) relative:(可选可选)已存在的已存在的 Node 对象的索引号或键值。对象的索引号或键值。 relationship:(可选可选)指定的指定的 Node 对象的相对位置。对象的相对位置。 Key:(可

19、选可选)唯一标识节点的字符串,可用于用唯一标识节点的字符串,可用于用 Item 方方法检索法检索 Node。 Text:(必需必需)在在 Node 中出现的字符串。中出现的字符串。 Image:(可选可选)在关联的在关联的 ImageList 控件中的图象的索引。控件中的图象的索引。 Selectedimage:(可选可选)在关联的在关联的 ImageList 控件中的控件中的图象的索引,在图象的索引,在 Node 被选中时显示被选中时显示。TreeView控件控件Node对象的使用对象的使用在在Nodes集合中删除节点:集合中删除节点: Clear删除全部节点删除全部节点 Remove(in

20、dex)删除指定节点删除指定节点TreeView控件控件Node对象的使用对象的使用一般步骤:一般步骤:(1)新建一个新建一个ActiveX控件工程控件工程(2)利用工具箱,在控件窗体上设定界面利用工具箱,在控件窗体上设定界面(3)编辑加入控件的代码编辑加入控件的代码(4)添加控件的属性、方法和事件添加控件的属性、方法和事件(5)创建一个标准应用程序作为创建一个标准应用程序作为ActiveX控件的运行容控件的运行容器器(6)在标准应用程序的窗体上调试在标准应用程序的窗体上调试ActiveX控件控件(7)编辑控件为编辑控件为.ocx文件类型文件类型如何制作自己的如何制作自己的ActiveX控件控

21、件设计控件窗体的注意事项:设计控件窗体的注意事项: 对控件中的所有元素进行处理对控件中的所有元素进行处理(条件限制,事件响应条件限制,事件响应),与普通程序的设计方法相同与普通程序的设计方法相同 需要控制控件的大小变化,即控件的界面元素能适需要控制控件的大小变化,即控件的界面元素能适应窗体的大小变化(编写应窗体的大小变化(编写Resize事件过程),这样事件过程),这样在普通工程的窗体上就可以随意改变控件的大小了在普通工程的窗体上就可以随意改变控件的大小了自定义自定义ActiveX控件控件定义属性(外部可以访问的有关数据):定义属性(外部可以访问的有关数据): 取得属性值(内部用取得属性值(内

22、部用Get过程返回属性值)过程返回属性值)Public Property Get Propertyname() As Type Propertyname: 自定义属性名称自定义属性名称 Type: 属性值的类型属性值的类型 对属性赋值(内部用对属性赋值(内部用Let过程指定属性值)过程指定属性值)Public Property Let Propertyname(ByVal Value As Type) Propertyname: 自定义属性名称自定义属性名称 Value: 属性值属性值自定义自定义ActiveX控件控件VB提供的提供的“ActiveX控件接口向导控件接口向导”工具使得这一过工具

23、使得这一过程变得相当容易。向导允许你指定程变得相当容易。向导允许你指定ActiveX控件的属控件的属性名称,还可以将属性与性名称,还可以将属性与ActiveX控件包含的某个控控件包含的某个控件的属性建立关联,最后能自动生成所需要的代码。件的属性建立关联,最后能自动生成所需要的代码。执行执行【外接程序【外接程序】【外接程序管理器【外接程序管理器】菜单命令。】菜单命令。自定义自定义ActiveX控件控件定义方法:定义方法: Public Sub 方法名方法名() Public Function 方法名方法名() As Type 只要是只要是Public的,外部就可以访问该方法的,外部就可以访问该方

24、法 如果是如果是Private的,只限控件内部使用的,只限控件内部使用自定义自定义ActiveX控件控件定义控件可响应的事件:定义控件可响应的事件: Public Event click() 在代码通用部分,声明用户自定义的事件(可以有事件参数)在代码通用部分,声明用户自定义的事件(可以有事件参数) RaiseEvent 引发在控件中声明的一个自定义事件,需要了解该事件在什引发在控件中声明的一个自定义事件,需要了解该事件在什么状态才引发。么状态才引发。比如自定义时钟控件要引发一个闹钟事件,比如自定义时钟控件要引发一个闹钟事件,应在应在Timer控件的控件的Timer事件过程中加入以下的代码:事

25、件过程中加入以下的代码: If iHour = txtHour And iMinute = txtMin And iSecond = 0 Then RaiseEvent evtAlarm End If 自定义自定义ActiveX控件控件 发布前应先添加一个新的发布前应先添加一个新的ActiveX exe工程工程 在该工程的窗体中添加自定义的控件在该工程的窗体中添加自定义的控件 测试控件界面是否能够正常变大变小,控件的属测试控件界面是否能够正常变大变小,控件的属性和方法是否能够访问,控件的事件是否能引发性和方法是否能够访问,控件的事件是否能引发 测试成功后,选择控件工程,执行菜单测试成功后,选择

26、控件工程,执行菜单“文件文件|生成生成OCX文件文件”发布发布ActiveX控件控件 与任何一个其它的与任何一个其它的ActiveX控件完全一样,先加控件完全一样,先加载再使用。载再使用。 编写者应该提供使用文档,说明控件有哪些属性、编写者应该提供使用文档,说明控件有哪些属性、方法和事件,以及使用范例。方法和事件,以及使用范例。使用自定义使用自定义ActiveX控件控件14.2 动态链接库动态链接库 DLL:Dynamic Link Library,能被应用程序调用能被应用程序调用的在运行时动态加载并链接进应用程序的一组例程。的在运行时动态加载并链接进应用程序的一组例程。程序运行时链接并使用它

27、,程序运行时链接并使用它,DLL可以被多个程序共可以被多个程序共享,更新可以独立进行(使用该享,更新可以独立进行(使用该DLL的应用程序一的应用程序一般般不需要进行修改和编译)。不需要进行修改和编译)。 通常最有通常最有可能要用到的动态连接库是可能要用到的动态连接库是Windows操作操作系统函数,称为系统函数,称为Windows API(Application Program Interface,应用程序编程接口,应用程序编程接口)。DLL的优点:的优点: 容易实现代码共享容易实现代码共享 容易实现版本升级容易实现版本升级 适用于大型应用程序适用于大型应用程序常用常用动态链接库动态链接库包含

28、包含Windows API的的DLL文件一般放在文件一般放在Windows9x、Windows NT或或Windows 2000的系统目录中。其中最主要的有三个的系统目录中。其中最主要的有三个DLL文文件:件:User32.dll:该库文件包含有关管理该库文件包含有关管理Windows环境环境的函数,诸如管理菜单、管理光标以及处理消息的函数,诸如管理菜单、管理光标以及处理消息等。等。Gdi32.dll:其中的函数帮助管理不同设备的输出,其中的函数帮助管理不同设备的输出,尤其是屏幕与打印机。尤其是屏幕与打印机。Kernel32.dll:包含执行内存管理、任务管理、资包含执行内存管理、任务管理、资

29、源管理以及模块管理的函数。源管理以及模块管理的函数。VB与与C语言的数据类型对应语言的数据类型对应很多很多DLL通常是用通常是用C语言编写的,因此在语言编写的,因此在VB中调用时中调用时需要将数据类型对应正确需要将数据类型对应正确C语言语言VBLPSTRStringNULLStringCharByteIntLong(32位环境)位环境)句柄(指针)句柄(指针)Long如何声明要使用的如何声明要使用的DLL 由于由于DLL中中的函数或过程存在于的函数或过程存在于VB应用程序之外的文应用程序之外的文件中,在使用时必须声明它们的位置(在哪个文件中)件中,在使用时必须声明它们的位置(在哪个文件中)和调

30、用参数。在声明了某个过程后,可以把它当做和调用参数。在声明了某个过程后,可以把它当做VB自己的过程来调用。自己的过程来调用。Declare Function publicname Lib “libname” Alias “alias” (By Val variable As type, As TypeDeclare Sub publicname Lib “libname” Alias “alias” (By Val variable As type, publicname:VB程序中所用的程序中所用的DLL中的函数名或过程名中的函数名或过程名 Libname: 库名库名,DLL文件的名字文件的

31、名字 Alias: 别名别名,当当VB程序中用的函数名与程序中用的函数名与DLL中的名称不一样时中的名称不一样时, 指定指定DLL库中的名称库中的名称 Varibale:传递给函数或过程的参数名传递给函数或过程的参数名 Type: 函数返回值的类型函数返回值的类型声明和调用举例声明和调用举例比如在比如在VB中只能取到鼠标在运行窗口中的位置,一旦鼠标离开中只能取到鼠标在运行窗口中的位置,一旦鼠标离开了运行程序的窗口,就无法获得它在屏幕上的位置,而了运行程序的窗口,就无法获得它在屏幕上的位置,而Windows API的的GetCursorPos函数可以实现该功能,该函数声函数可以实现该功能,该函数

32、声明如下:明如下:Private Declare Function GetCursorPos Lib user32 (lpPoint As POINTAPI) As Long使用该函数使用该函数Private Type POINTAPI 定义参数类型定义参数类型POINTAPI x As Long y As LongEnd TypeDim pCurPoint As POINTAPI 定义参数变量定义参数变量GetCursorPos pCurPoint 获得鼠标位置获得鼠标位置使用使用API文本浏览器文本浏览器 Windows API中包含了成百上千的函数、例程、类型和常数定中包含了成百上千的函数、例程、类型和常数定义,它们是用义,它们是用C语言编写的,在语言编写的,在VB中声明这些中声明这些DLL过程是比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论