ccidnet????

出版日期:1997-06-16 总期号:662 本年期号:22

本期导读
综合消息
网络通信
市场商情
国际文摘
专题评测
编程维修
用vb环境开发多媒体展示软件

鲁永全

  visualbasic作为一种windows应用程序开发语言,具备其他开发环境所支持的一些主要功能和语言自已的独到功能。如:

  1)、创建窗口,包括窗体、对话窗口及菜单等;

  2)、创建程序对象,vb工具箱可创建图象框、命令钮等;

  3)、显示或隐藏各种控制、窗体或窗口;

  4)、响应光标和键盘事件;

  5)、可直接调用windows系统函数。

  各种功能不一一列举。

  一、程序设计说明书

  编写vb程序设计说明书,一般可能有以下内容:编写的程序完成什么任务,需要的有关资料;程序实现的步骤,层次结构;用户界面设计美观、友好、方便用户操作;程序的模块清单;各子程序名称;引用的函数名称;设置的变量名称;对象的属性设置列表等。

  下面列出笔者编写的《贵州电力教育培训中心》多媒体展示软件的用户界面的一部分窗口功能设计说明书。(见附后)

  二、对象和事件代码

  visualbasic主要处理两种类型的对象:一种是叫窗体的窗口;另一种是在窗口内绘制的各种控制部件。

  vb为这两种对象提供标准的事件处理函数和过程。编程人员可在此基础上编写实际的处理程序代码以响应用户的操作,vb以事件驱动方式执行应用程序。

  例如:调入你的程序项目后,点按添加一个新窗体图标,屏幕出现一个新窗体。点按窗体属性图标,出现属性设置框,你可以根据需要设置各项属性。现列几个属性设备意义给以说明。

  backcolor选择后可设置各种窗口

  背景颜色

  borderstyle使窗体在运行时,改变框

  架的形状。(在设计阶段不

  发生,只在运行时改变窗

  体的显示状态。)

  属性值:0—none窗口无框架

  1—fixedsingle大小不变,有一

  单线框架。

  2—sizable大小可变,标准的

  双线框架。

  3—fixeddouble大小不变,标准的

  双线框架。

  点按代码图标后,出现事件代码编写框,各种事件有不同的响应意义。代码编写过程发生语法错误时,将提示你修改后才能继续进行编写。

  如:privatesubform—click()

  endsub

  你可以语句中间编写代码。

  该事件的意义:当单击窗体时,vb运行事件过程form—click()。如不是单击窗体,而是窗体中的其他控制对象,该事件过程不会响应。只是对应控制对象的对应事件才响应。我们可以在上语句中编写我们需要的代码语句,去完成我们设计的工作。

  每个窗体以及窗体中的每个控制都有自己的属性设置和事件过程。属性已由vb给定默认值,在我们需要时才去改变。属性可以在设计时设定,也可以在事件过程运行中用命令去改变。

  下面用启动窗口的属性设置和播放历史资料幻灯片的事件过程加以说明。

  1)、启动窗口属性设置:

  属性设置意义说明

  autoredrawttue窗体消失后被其他

  窗体覆盖后又需要

  重画该窗体时,可

  自动重画。

  borderstyle3-fixeddouble大小不变,有双线框

  架。

  controlboxfalsa运行时左上角无控

  制按钮。

  maxbvttonfalse运行时不出现最大

  化按钮。

  minbvttonfalse运行时不出现最小

  化按钮。

  caption电力教育培训定义窗体标题。

  中心展示窗

  namcfrmqdck定义窗体在项目中的名

  称。

  2)、播放历史资料幻灯片事件过程

  把历史资料制作成“*.bmp”文件,按设计播放的次序编排,保存在固定目录。设置好窗体,布置好画面,如:背景画面;幻灯播放框的位置、大小;命令按钮的布置等。编写各命令按钮的事件过程代码如下。

  向后(comde1):

  dimstring1asstring

  dimbyte1,byte2asbyte

  dimtext

  privatesubcomde1—click()

  byte1Κbyte1+1

  ifbyte1Κnthen'nΚ展示图片总数+1

  byte1Κ1

  endif

  byte2Κbyte1

  selectcasebyte1

  case1

  string1Κ"展示图片的目录路径ι***·bmp”

  textΚ“图片说明文字”

  case2

  string1Κ"展示图片的目录路径ι***·bmp”

  textΚ"图片说明文字”

  case3

  ·

  ·

  ·

  endselect

  图片框名称·vislbleΚtyue

  图片框名称·picturc-loadpicture(string1)

  标签框名称·textΚtext

  endsub

  向前(comde2):

  pricatesubcombe2—click()

  byte2Κbyte2-1

  ifbyte2Κ0then

  byte2Κbyte1

  endif

  seleccasebyte2

  ·

  (与前段选择图片语句相同)

  ·

  endsub

  关闭(comde3):

  pricatesubcomde3—click()

  当前窗口名称·hide

  打开窗口名称·show

  endsub

  三、设置背景音乐

  visualbasic可以非常方便地访问wimdows提供操作的特殊多媒体设备的高级和低级函数,visualbasic支持le2.0(对象连结与嵌入)功能,为开发多媒体应用程序提供了方便强劲的工具。为完成背景音乐设置和介绍录音播放,下面提供一些简捷的设置方法,供一同讨论。

  1)、播放midi音乐

  实现窗口运行自动播放音乐,应在你需要播放音乐的窗口中建立ole控制。选择vb工具栏的ole2.0控件,在窗口中画出ole控制框。屏幕出现“insertobject”选择框,选择装入内容为midi序列。选择“ok“,出现windows的媒体播放机。

  选择媒体播放机的打开菜单后,可显示你硬盘内的midi音乐文件,选择你满意的音乐文件装入。选择编辑菜单的选项菜单后,可设定如“自动重复”,在“用户的文件上播放”等。

  为实现窗体调入时自动播放midi音乐,要在窗体的from—load()事件中编写以下代码。

  privatesubform—load()

  ole1·verbΚ0

  ole1·actionΚ7

  endsub

  为了屏幕上不出现ole控件图标,可设置ole属性和其他画面覆盖的办法来解决。

  2)、播放介绍录音

  录音制作的wav波形文件可用高级波形函数playsound()来播放,playsound()函数可播放任何波形音频文件。

  在visualbasic中调用playsound()函数,必须首先声明函数和定义不同的规定标志的常量。

  在vb中选择module命令,建立全局声明文件bfsmwj·bas文件。

  bfsmwj·bas文件内容为:

  #ifwin32then

  declarefunctionplaysoundlib"winmm"—

  (byvalsoundnameasstring,byvalhandelasinteger,byvalflagsaslong)asinteger

  #else

  declarefunctionplaysoundlib″mmsystem″—

  (byvalsoundnameasstring,byvalhandelasinteger,byvalflagsaslong)asinteger

  #endif

  如果需要,还可以在该文件中用const定义一些规定的标志的常量,

  如constsnd—syncΚ&h0等。

  完成函数声明文件编写后,可用需要播放音乐的窗体中的其他控件,如:图片框、标签、命令按钮等的click()事件来调用playsound()函数播放录录音文件。方式如下:

  dimbflyasinteger

  dimbfstop设置只播放一次的判断变量

  pricatesubplay—click()

  bfstopΚbfstop+1

  ifbfstopΚ1then

  bflyΚplaysound("录音文件路径ι***·wav",0,—snd—sync)

  endifendsub

  作者用visualbasic4.0编写的《贵州电力教育培训中心》多媒体展示软件,编译成*.exe文件,脱离vb环境,在windows3.2和windows95上通过。