建立自己的Hint窗口
   当鼠标停留在某个控件上时,如果该控件的ShowHint特性为真则会显示出一个黄色的小窗口,这就是Hint窗口。如果从THintWindow派生一个类,并且将新类型赋值给全局变量HintWindowClass,则Delphi的Hint窗口将使用你所建立的新风格。
  新类可以重载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;