控件编程

关键词: 程序设计 多媒体 编程

控件编程(精选三篇)

控件编程 篇1

一、VB多媒体程序设计概述

1. Visual Basic6.0简介

Visual Basic6.0是由微软公司推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。VB从根本上改变了传统的程序设计模式,可以处理文本、图像、动画、声音等多媒体数据,因而被计算机界称为“最富有创新精神的编程工具之一”。

2. VB的多媒体环境

任何一种程序设计语言都离不开操作系统,用Visual Basic开发多媒体程序的实质是利用了Windows操作系统的多媒体能力。

目前多媒体制作工具可分为两类,一类是专为开发多媒体节目和电子出版物而设计的多媒体编著工具(如Authoring tools) ;另一类是通用的软件开发工具,如Visual Basic、Visual C++等。采用通用程序开发工具的优点是灵活性高,软件运行效率高。V B在多媒体应用软件开发方面有着良好的前景,具有很强的多媒体处理控制功能,VB的多媒体控制MCI (Media control interface:媒体控制接口) 包括一套控制音频和视频设备,但具有与设备无关的命令,用它来进行多媒体设计非常方便。

二、媒体控制接口MCI

1. MCI的使用

MCI (Multimedia Control Interface) 是微软Windows定义的多媒体接口标准,具有设备无关性和可扩展性,使用户不需要使用低级的API就可以播放多媒体素材。MCI控件管理MCI设备上的多媒体文件的记录与回放,用来向声卡、MIDI序列发生器、CD-ROM驱动器、视频CD播放器等设备发出MCI命令。

MCI控件不是内部控件,而是Active X控件,不出现在工具箱中,为把它放到工具箱中,执行“工程”/“部件”命令/“控件”命令,选择“Microsoft Multimedia Control 6.0,单击“确定”按钮,则MCI控件添加到工具箱中。

M C I控件在窗体中的外观如图1所示。从左至右共九个按钮被分别被定义为Prev(移前标)、Next(移后标)、Play(播放)、Pause(暂停)、Back(倒移)、Step(前移)、Stop(停止)、Record(录制)和Eject(退出)。

3. MCI命令及其使用

MCI控件使用一套高级的、与设备无关的命令、称为媒体控制接口命令,可用来控制多种多媒体设备,其中的部分命令直接与MCI控件的按钮对应,例如,PLAY命令与“播放”按钮相对应。

从本质上说,M C I控件是M C I命令集的V i s u a l Basic接口。例如,Play对应MCl_Play, Close对应MCI_Close等。下表列出了MCI控件使用的MCI命令及所对应的win32API命令。

在允许用户对MCI控件进行操作之前,应用程序必须先将MCI设备打开,并在MCI控件上启用适当的按钮,在Visual Basic中,应将MCI Open命令放到Form_Load事件中。

三、Visual Basic多媒体应用程序设计步骤及实例

在使用该多媒体控件MCI时,首先用OPEN命令打开MCI设备并建立一个与之对应的文件,以便进行录或放等操作;一旦设备打开成功,就可以向它发出各种操作命令来完成指定的工作任务;最后要用Close命令来关闭设备和数据文件。在使用MCI之前必须安装好多媒体设备如声卡、CD-ROM等以及这些设备的驱动程序,否则MCI将不听指挥。下面就利用MCI控件来做几个实例。

实例1:CD播放器

利用VB的MCI控件实现CD播放器很简单, 界面如图2。

在CD驱动器中放入一张CD唱片,然后运行,点一下Play按钮即可播放。若驱动器中无CD盘则所有按钮都处于无效状态。

实例2:AVI播放器

在多媒体系统中,AVI (Audio Video Interface,音频视频接口) 文件是存储电影(包括声音和图像)的标准格式。在实际工作中,播放AVI文件的方法有许多种,而其中以利用V B的M C I控件的方法最为简单、方便。

先准备好一个AVI文件,在窗体上添加一个TextBox控件,用该文本框作为播放窗口,设置其M u l t i L i n e属性为T r u e, E n a b l e属性为F a l s e,这样它就不能接收用户输入了;三个按钮控件,N a m e属性分别为CmdPlay (播放) 、CmdPause (暂停) 、CmdExit (退出) ;一个MMControl控件,设置其Visible属性为False,使它运行时不可见。设计完毕的窗体如图3。

实例3:通用播放器

在窗体上放置通用对话框控件、MMcontrol控件、Picturehe和Command控件,建立如图4的界面。

本例编写了一个通用的播放多媒体音乐的程序,单击要播放的音乐按钮,即可打开通用对话框,选择要播放的音乐即可以播放各种音乐,程序如下:

图片也是一种多媒体,单击显示图片按钮,选择图片,即可在图片框中显示图片。程序如下:

四、结束语

Visual Basic中提供了很多多媒体控件,包括MCI、ActiveMovie、MediaPlayer、Animation等,但是MCI控件是最方便、快捷、高效的方法,可见,Visual Basic确实是开发多媒体软件的理想工具。

参考文献

[1]刘炳文.VISUAL BASIC图形与多媒体程序设计[M].北京:清华大学出版社, 2002

[2]杨诚.多媒体程序设计 (VB版) [M].北京:清华大学出版社, 2004

[3]赛奎春.Visual Basic精彩编程200例[M].北京:机械工业出版社.2001

控件编程 篇2

第一, 要考虑控件的实际功能。功能强、接口多的控件可以增强应用软件的质量, 也可减少编程工作量, 当然, 这要结合应用需求来定, 并不是功能越多越好。

第二, 控件的稳定性要强。作为应用程序的基石, 不应选用那些控件本身容易出错, 补丁 (patch) 太多的版本。

第三, 控件的易用性要高。选用那些属性配置合理, 事件触发机制明晰流畅, 易于设计和使用, 项目组中的程序员都容易接受掌握的控件。

以下简要介绍几种网格类控件的特点, 以供选用。Grid控件:Grid控件可显示简单的二维表格, 不用和数据库直接连接, 具有滚动条、行头、列头等特性, 运行时可用鼠标调整行列的宽度, 可用于浏览数据, 若想对数据进行编辑, 需结合Text Box控件, 或采取其他变通方法。当然, 如果使数据真正写入数据库, 还需进行数据库的读写操作。Grid只是提供了一个预览的功能, 便于数据的修改。Grid是VB在早期版本中就带有的控件, 使用简便, 稳定性好, 在早期的VB开发过程中, 使用尤其广泛。但现在与其它控件比较起来功能有些不足。DBGrid控件:DBGrid是专用来操作数据库的网格控件, 可以绑定到Data控件, 几乎不用写代码就可方便地对数据进行显示, 增加、删除或修改记录, DBGrid具有OnAdd New、Before Delete等事件, 可在增加新记录或删除修改时对数据进行有效性检验, 来实现事务处理功能。DBGrid也可以在设计时编辑网格格式, 指定显示字段等。不足之处在于DBGrid和直接操作数据库, 对数据库的正确性有一定的威胁。改进方法是, 在修改数据库时, 加入提示信息。True DBGrid:DBGrid是Apex软件公司为微软开发的, 而Apex的True DBGrid控件也具有较强的数据显示及处理功能, 因与DBGrid同出一宗, 所以两者有很多相同点。但在DB-Grid的基础上, True DBGrid可以直接嵌入List Box、Image位图、单选框等控件, 使软件的界面更加美观, 实用。SSDBGrid控件:SSDBGrid来自Sheridan软件系统公司, 与Sheridan的其它控件一样, 以漂亮的三维界面见长, SSDB-Grid还可与其它数据库控件如SSDB-Data、SSDBCombo等有机结合, 为用户处理数据提供方便, 它有几百个属性、方法等接口, 为界面的润色提供了很大的选择余地。另外SSDBGrid还具有虚拟数据管理 (virtual data management) 技术, 在内存中只存贮需显示在界面上的记录, 这样在处理大量数据时不致耗费系统资源而影响运行速度。SSDBGrid的缺点只是在有些版本中输入汉字时会出现一些乱码, 但显示汉字的效果很不错。MS-

Flex Grid控件:MSFlex Grid和vs Flex Array在显示数据方面有很多独到之处, 在运行中可通过拖放来交换各列的位置, 动态地对数据进行排序、分组合并等。vs Flex Array控件是Video Soft公司的产品, MSFlex Grid的部分技术也来自此公司。va Spread控件:va Spread控件在处理数据方面有着更大的灵活性, 它支持数据绑定, 虚拟数据管理等技术, 而且具备了电子表格的功能, 编辑中可以使用剪贴板来剪切或复制单元格区域的数据, 单元格中也可以加入公式, 借助Spread的计算引擎对数据进行分析计算。Spread Designer还可方便地设计表格的格式, 在单元格中加入按钮、图片、组合框等, 自己设计的表格格式还能作为模板与数据分开来保存。若想得到简单的报表, va Spread的打印功能可直接把界面和数据打印出来, 而不需通过专门的报表打印控件。va Spread是Far PointTechnologies公司的产品。Formula One控件:Formula One有更强的数据处理功能, 是与Excel兼容的电子表格控件, 在Power Builder中经常用到, 它来自Sybase下属的Visual components公司。另外, Power Builder中, 常用子窗口———Database Windows的形式来显示数据库的构成。

参考文献

[1].微软公司《VB部件工具》, 1997年版1.微软公司《VB部件工具》, 1997年版

控件编程 篇3

然而MSHFlex Grid控件不能响应鼠标滚轮动作 (即就是为VB6打上支持鼠标滚轮的补丁后) , 这就给使用者在操作时造成了不便, 与此同时, 该控件的滚动条颜色也未提供属性进行设置, 这也给使用者在考虑程序界面的美观与统一时造成了影响。虽然可以使用标准Windows滚动条Flat Scroll Bar控件加上一些自编代码代替MSHFlex Grid控件自身的滚动条使效果有所改善, 亦或在VB“部件”下选择Microsoft Forms Object Library来使用它提供的可以设置颜色的滚动条加上一些自编代码来代替MSH-Flex Grid控件自身的滚动条, 但效果仍差强人意。针对上述问题, 在不借助第三方控件的前提下完全可以通过编程来模拟实现。

1 建立工程

在窗体上先放置一个Picture Box控件 (Picture1) , 再在其中放置1个MSHFlex Grid和1个Picture Box控件 (Picture2) , 最后在Picture2中放置4个Image控件 (见图1, 其中Picture2内从左到右依次为Image1、Image2、Image3和Image4。为保证显示效果, 在用工具制作这4个图像时, 应让其水平、宽度、像素保持一致, 并注意Image1、Image2和Image3图像的大小即高度、像素比例保持协调) 。

2 添加模块

输入以下代码 (截取发送到窗体的Windows消息, 实现鼠标滚轮的事件检测) 。

3 为窗体输入以下代码

4 效果验证

运行程序后单击Image3、Image2、Image4或拖动Image2, 将发现此时与滚动条操作效果完全一致, 不论鼠标指针位置在何处, 在当窗体处于活动状态时, 只要滚动鼠标滚轮, MSHFlexGrid中数据与Image2都会同步移动, 看看是否与“千千静听”的播放列表窗口操作很相似。

如果对MSHFlex Grid控件的选中行配合使用其Cell Picture属性, 则可以将图片放在MSHFlex Grid的对应单元格中, 同时, 也只需要再增加几行简单的代码, 便可以使模拟的滚动条在需要的时候出现, 而在不需要的时候就隐藏起来, 当然, 我们还可以为Image1、Image2和Image3再分别制作一个图像, 并调用API函数 (Get Cursor Pos) 继续编程, 来获取鼠标指针在屏幕像素坐标中的位置, 从而测算出鼠标指针是否移入或移出Image1、Image2和Image3对象, 进而实现Image1、Image2和Image3对象图像的即时更换 (在VB中, 虽然Image控件支持鼠标的移入事件, 但却未提供移出事件, 尽管在当其他对象发生鼠标的移入事件时, 事实上也就是鼠标指针从Image控件上移出, 但基于这样一个思路的编程实际效果有相当的局限性) , 这样就可以使我们模拟的滚动条显示效果更加美观、生动, 当然, 也别忘记给窗体“化妆” (此时即与“千千静听”的播放列表窗口操作效果完全一致了。见图2。这是自编的影音播放程序中在使用MSHFlex Grid控件显示播放列表时, 代码中常数p2取值6并且在鼠标指针指向Image2对象时的显示效果情况) 。

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:我眼中的爱国作文 下一篇:数控编程