求显示hint的源代码(80分)

  • 主题发起人 主题发起人 vincent_technic
  • 开始时间 开始时间
V

vincent_technic

Unregistered / Unconfirmed
GUEST, unregistred user!
假如我要手工的写一段程序来实现显示hint信息的功能,应该如何写?望尽量说清楚一点,谢谢!
 
//以下的代码就是手动显示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 :Pointer;
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;
 
关注,希望能做出个性化的hint
 
谢谢liyinwei,我先试一下。
 
谢谢liyinwei
 
后退
顶部