//以下的代码就是手动显示Hint
//因为代码比较简单,我就不作太多说明了。
var
Form1: TForm1;
x:THintWindow;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
label1.ShowHint:=true;
label1.Hint:='successlabel';
x:=THintWindow.Create(self); //创建Hint窗体
end;
procedure TForm1.Button1Click(Sender: TObject);
var
rect :TRect;
p
ointer;
MaxWidth,width,height:Integer;
point:TPoint;
begin //以下设置Hint窗体的属性
rect := x.CalcHintRect(MaxWidth,label1.hint,p);
width:=rect.Bottom-rect.Top;
height:=rect.Right-rect.Left;
point.x:=label1.Left+label1.Width;
point.y:=label1.Top+label1.Height;
Point:=ClientToScreen(Point);
rect.Left:=point.x;
rect.Top:=point.y;
rect.Right:=point.x+height;
rect.Bottom:=point.y+width;
x.Color := clWhite;
x.ActivateHint(rect,label1.Hint);//手动显示Hint窗体,
//因为是手动创建的Hint窗体,要记住释放。
end;