科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件自 动 隐 藏 的 声 象 按 钮

自 动 隐 藏 的 声 象 按 钮

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随着计算机的日益普及和多媒体技术的不断发展,多媒体计算机辅助教学(MCAI)软件正改变人们传统的学习方式。

作者:佚名 来源:天极网 2007年11月2日

关键字: 自 动 隐 藏 声 象 按 钮

  • 评论
  • 分享微博
  • 分享邮件
随着计算机的日益普及和多媒体技术的不断发展,多媒体计算机辅助教学(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。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
        邮件订阅

        如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

        重磅专题
        往期文章
        最新文章