Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16495664
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:47:17

下载本文示例代码
p>  随着计算机的日益普及和多媒体技术的不断发展, 多媒体计算机辅助教学(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。 p>  随着计算机的日益普及和多媒体技术的不断发展, 多媒体计算机辅助教学(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。 下载本文示例代码


自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮自 动 隐 藏 的 声 象 按 钮
阅读(122) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~