随着计算机的日益普及和
多媒体技术的不断发展,多媒体
计算机辅助教学(MCAI)软件正改变人们传统的学习方式。MCAI软件的操作界面赏心悦目,特别是具有音响效果且能
自动隐藏的图象按钮或菜单,图、文、声并茂,确实为软件添色不少,深受用户喜爱。以下介绍用Delphi实现上述功能的技术。
准备工作
建好应用软件主目录C:\AutoHide及其子目录Images 和Sounds。作为软件主界面的背景图象的位图文件Background.bmp,及作为按钮图象的位图Chimera.bmp都存入Images目录中。将声音文件Growl.wav存入Sounds目录。
图象按钮
1.启动Delphi3.0IDE,新建项目AutoHide.dpr,主窗体单元命名为Main.pas,存入C:\AutoHide目录。在主窗体上放入三个TImage组件,主要属性按表1设置。
表1主窗体和各组件属性设置 组件 属性 设置
Form1 Caption AutoHideButton
Name MainForm
Image1 Align alClient
Name BackgroundImage
Picture (TBitmap)
Stretch True
Visible True
Image2 Align alNone
Name PictureImage
Picture (TBitmap)
Stretch True
Transparent True
Visible False
Image3 Align alNone
Cursor crHandPoint
Name ButtonImage
Picture (None)
Stretch False
BackgroundImage的Picture属性装入Background.bmp,PictureImage 的Picture属性装入Chimera.bmp。ButtonImage重叠于PictureImage之上,置于背景图象的特定位置。
2.建立ButtonImage的OnMouseMove事件,当鼠标移至其上时PictureImage显现: PictureImage.Visible:=True;
3.建立BackgroundImage的OnMouseMove事件,当鼠标移开ButtonImage时PictureImage隐藏: PictureImage.Visible:=False;
4.创建ButtonImage(注意:不是PictureImage)的OnClick事件,以响应鼠标点击完成规定动作。不失一般性,在此仅显示一行信息。 MessageBeep($FFFF);
ShowMessage(WelcometotheDelphi.);
5.编译、运行。软件启动后进入主? ,在背景图象上没有菜单,也没有按钮,如图1所示。
当鼠标移至猎豹头部时,豹头变成狮头按钮,且鼠标变为手指,如图2所示。
当鼠标移出狮头范围时,狮头隐藏,恢复主界面图象。若点击狮头按钮,则出现信息窗(见图3): WelcometotheDelphil.
音响效果
如果要在上述“自动隐藏”按钮加上音响效果,可以在狮头出现时利用PlaySound()播放一个声音文件(.wav)。
但是,不能将PlaySound()直接加入ButtonImage 的OnMouseMove事件中。这是因为,当鼠标在按钮上移动时,PlaySound()会不断重复执行。务必确保按钮出现时声音文件只播放一次!须如此这般:
1.为调用PlaySound()函数,并控制声音文件的播放次数,在Main.pas单元的implementation段加入: uses
mmsystem;
var
noHide:Boolean;
2.创建主窗体MainFrom的OnCreate事件处理程序,以初始化noHide变量: noHide:=True;
3.将ButtonImage的OnMouseMove事件处理程序改为(begin与end之间的语句): ifnoHidethen
begin
PictureImage.Visible:=True;
PlaySound(Sounds\Growl,0,SND_ASYNC);
noHide:=False;
end;
4.将BackgroundImage的OnMouseMove事件处理程序改为(begin与end之间的语句): PictureImage.Visible:=False;
noHide:=True;
重新编译和运行。此时,当鼠标移至猎豹头部时,张牙舞爪、咆哮着的狮头出现,惊心动魄。
以上例程编译和运行环境是Delphi3.0和中文Windows 98。
查看本文来源