首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> Adobe认证
delphi的hint(1)_delphi教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

Delphi中使用提示是如此简单,只需将欲使用Hint的控件作如下设置:

ShowHint := True;

Hint := ‘提示信息’;

不必写一行代码,相当方便。

但有时我们又想自己定制提示的效果,使其看起来更美观更具个人特色,没关系,Delphi完全有办法让你写出自己喜欢的Hint效果。

 

Delphi的Hint功能实现归类在Application类中,所以我们可以在Application类中看到数个关于Hint的属性,这些属性可以设置Hint窗口的颜色,停留时间,出现时间等,设置了这些属性,将对整个工程的Hint功能起到影响。这样做的好处当然是统一了Hint的风格,并且让其他类不必去理会Hint的实现。

我们可以建一个简单的工程,并放一个按钮,将按钮的ShowHint设为True,再对Hint设一个值。运行程序,当光标指到按钮上时,便会出现一个提示窗口。

但如果我们在主窗口的创建事件中写下:

procedure TForm1.FormCreate(Sender: TObject);

begin

 Application.ShowHint := False;

end;

这些再运行程序,就不再有提示出现了,由此可知Application的ShowHint控制整个工程的Hint是否显示。

如果你对于平常所见的Hint窗口的颜色感到厌烦,那么可以设Application的HintColor为其他颜色。但此时有一个问题,如果HintColor设为黑色,则提示字体也为黑色,就看不到提示信息了。为此,我们得了解另一个全局对象,事实上当程序运行时,会创建三个全局对象:Application,Screen,Mouse,三个对象的职责非常明显。Screen封闭了运行的工程在屏幕上的状态,它有一个HintFont的属性,允许你设置提示信息的字体。

我们可以写如下的代码:

procedure TForm1.Button1Click(Sender: TObject);

begin

  Application.HintColor := clBlack;

  Screen.HintFont.Color := clWindow;

  Screen.HintFont.Size := 14;

end;

运行程序看看效果,提示字体变为白色,且变大了。

 

另外Application有这三个属性:

HintHidePause,HintPause,HintShortPause,控制着提示窗显示的时间等。HintHidePause指定提示窗口在屏幕上显示的时间,以毫秒为单位。HintPause则指定当你将光标移到有提示的控件上时,经过多长时间才会出现提示窗口,以毫秒为单位。而HintShortPause呢表示当你快速移动光标经过一组有Hint的控件时,显示Hint的间隔。比如有两个有Hint的控钮,当你的光标快速从Btn1移到Btn2时,Hint经过HintShortPause毫秒才会显示出来。

 

Application中有一个比较特殊的属性Hint,我们不禁要奇怪,Hint指定的是那个控件的提示呢。其实Hint属性的一个很大的用途是给那些没有办法直接出现Hint窗口的控件一个机会,使它们能够通过别的方式出现提示。比如菜单,我们没有办法使菜单出现Hint窗口,但我们可以使菜单的Hint出现在状态栏上的。

我们在上面的工程主窗口中加一个状态栏,并在加一个菜单控件,设置几个菜单项,并给每个菜单荐的Hint属性设置一些字符串。

然后写下:

procedure TForm1.FormCreate(Sender: TObject);

begin

 Application.OnHint := WhenHint;

end;

 

procedure TForm1.WhenHint(sender: TObject);

begin

  StatusBar1.SimpleText := Application.Hint;

end;

运行程序,当你指到菜单项时,看,状态栏上出现了提示了。

 

上面可以看到,通过一些简单的代码,就可以使得提示别具特色。但人们是永远不会满足的,他们总想能不能做更好看的Hint呢,甚至对Hint的窗口风格提出了要求。Delphi的工程师们早想到了这一点,他们通过类的继承设定了一个提示窗口的父类,即我们看到的那个Hint窗口,我们可以通过继承它并覆盖它所提供的虚拟方法来写自己的提示窗口。

 

去读一读HintWindow的源码吧,你只要覆盖几个虚拟方法,你就可以做出很漂亮的提示出来了。

 

Delphi的Hint虽然简单易用,但却不够灵活,因为它提供了统一的风格,所以你不能指定某个提示为错误指示,可某个提示为警告提示。关于这个,我们要用API来实现,在网上找一个漫画式提示,有很多文章可用。这里不再说述。


 


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Java开发工具配置 UltraEdit-JSP教程,Java技巧及代码
·遍历设备管理器的设备-.NET教程,评论及其它
·用正则表达式剔除文本中的HTML标记-ASP教程,正则表达式
·一个通用的DataGridTableStyle的做法-.NET教程,数据库应用
·java连接Oracle数据库-JSP教程,Java技巧及代码
·将XML存入关系数据库-JSP教程,数据库相关
·如何在Web页面上直接打开、编辑、创建Office文档-ASP教程,ASP应用
·asp之日期和时间函数示例-ASP教程,ASP应用
·ASP.Net Web Page深入探讨-ASP教程,ASP应用
·浅析Microsoft .net PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)-.NET教程,.NET Framework
最新文章
·fireworks 8绘制精致指南针图案_fireworks教程
·卸载多重引导系统中的windows vista操作系统_windows vista
·如何做到google adsense好收入的几点_网赚技巧
·百度主题推广和google adsense的综合比较_网赚技巧
·[新闻会客厅]孙雁:八零后的女闪客_站长访谈
·“流量交换型站点”访客黏度问题凸显_站长心得
·大唐社区站长经验谈社区运营_站长心得
·blog站点如何用rss搜索来推广_站长心得
·自我防护web站点和恶意链接的方法_站长心得
·网站投资你和我的20个自身检查(2)_站长心得
相关主题
  • delphi命令行参数_delphi教程
  • delphi多线程程序示例(与.net一样简单)_delphi教程
  • delphi面向对象支持特点--保护级类成员的应用_delphi教程
  • delphi中的包(三):bpl和dll_delphi教程
  • delphi中的包(一):关于exe的编译、连接和执行_delphi教程
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭