转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
自动隐藏的声象按钮         ★★★★

自动隐藏的声象按钮

作者:闵涛 文章来源:闵涛的学习笔记 点击数:823 更新时间:2009/4/23 18:24:22
  随着计算机的日益普及和多媒体技术的不断发展,多媒体计算机辅助教学(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。


[Delphi程序]从 实 例 看 Delphi 4 中 的 动 态  [演讲致辞]魂 动 青 春
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台