Delphi中TApplication的属性有HintColor及HintPause。
可以通过设置HintColor改变应用程序中的Hint的颜色、通过设置HintPause
改变触发Hint的时间。
可以通过设置HintColor改变应用程序中的Hint的颜色、通过设置HintPause
改变触发Hint的时间。
解决方案 »
- 用ExpressBars建菜单的问题——建立形如开始菜单——在线等
- 安装FASTREPORT,为何老是出错?错误提示见贴,望大虾指点。
- Tclientdataset.ApplyUpdates本来就有这样的问题啊? 200501
- Excel控制高难度问题。
- 如何获得文件名中的中文部分? 望赐教,先谢了!
- table与query的一些特殊问题!请大家进来说说!
- 请问delphi的论坛比较好的都有哪些!
- 急问!!!DBImage如何存取图片数据
- 我添加了老的active控件怎么也卸载不了??新的active控件无法添加!!
- 一个奇怪的TDatetime问题
- 请教form间的参数传递??
- !!!哪位有 树的遍历算法的程序,等着急用!!(最好是pascal写的)
新类可以重载THintWindow的Paint方法来自己绘制Hint信息,例如下面这段代码将用红色填充整个Hint窗口,然后以黄色来显示Hint信息:
procedure TNewHintWindow.Paint;
var
R:TRect;
begin
with Canvas do
begin
Brush.Color:=clRed;
Brush.Style:=csClear;
Rectangle(0,0,Width,Height);
end;
R:=ClentRect;
Inc(R.Top,3);
Inc(R.Left,2);
SetBKMode(Canvas.Handle,TRANSPARENT);
Canvas.Font.Color:=clYellow;
DrawText(Canvas.Handle, PChar(Caption),-1,R,DT_LEFT);
end;
如果希望Hint窗口是透明的,则可以在新类中加入一个消息捕获过程,使Hint窗口不执行重绘背景的操作:
type
TNewHintWindow=class(THintWindow);
private
procedure WMEraseBKGND(var Message:TMessage); message WM_ERASEBKGND;
. . .
end;
procedure TNewHintWindow.WMEraseBKGND(var Message:TMessage);
begin
Message.Result:=0;
end;