Delphi 2010中的BallooHint.ShowHint获得控制权';作为标题的提示

Delphi 2010中的BallooHint.ShowHint获得控制权';作为标题的提示,delphi,Delphi,这是我第一次使用气球提示。我使用的是Delphi2010 我不确定我是否正确地使用了提示,因为在下面的场景中,我两次得到相同文本的提示:一次作为标题,一次作为正文。我已经为此挣扎了一段时间,这里也提到了其他帖子,德尔福的帮助,以及D2009手册中Cantu的例子 我希望我的代码在检测到用户需要单击按钮时弹出提示。如果用户稍后将鼠标移到按钮上,我想显示相同的提示 在下面的序列中,在步骤3中,按钮的提示文本显示为引出序号文本上的标题,好像有一个管道字符 步骤1:调用ShowHint。提示正确显示,然

这是我第一次使用气球提示。我使用的是Delphi2010

我不确定我是否正确地使用了提示,因为在下面的场景中,我两次得到相同文本的提示:一次作为标题,一次作为正文。我已经为此挣扎了一段时间,这里也提到了其他帖子,德尔福的帮助,以及D2009手册中Cantu的例子

我希望我的代码在检测到用户需要单击按钮时弹出提示。如果用户稍后将鼠标移到按钮上,我想显示相同的提示

在下面的序列中,在步骤3中,按钮的提示文本显示为引出序号文本上的标题,好像有一个管道字符

步骤1:调用ShowHint。提示正确显示,然后正确消失

步骤2:用户将鼠标移到按钮上。按钮的提示正确显示

第三步:再次调用ShowHint。显示的提示具有引出序号提示描述中的正确文本,但其标题来自按钮

Procedure TForm.ShowHintIfNeeded.
var
  Pt: TPoint;
begin
  if fNeedFileName then
  begin
    BalloonHint1.Description := 'Click this button to open';
    Pt.X := btnOpenFile.Width Div 2;
    Pt.Y := 0;
    BalloonHint1.ShowHint(btnOpenFile.ClientToScreen(Pt));
  end;
end;
和我的按钮的dfm:

object btnOpenFile: TBitBtn
  Hint = 'Click this button to open'
  CustomHint = BalloonHint1
  ShowHint = True
end

如果将BaloonHint1.Title显式设置为nothing,例如:

Procedure TForm.ShowHintIfNeeded.
var
  Pt: TPoint;
begin
  if fNeedFileName then
  begin
    BalloonHint1.Title := ''; 
    BalloonHint1.Description := 'Click this button to open';
    Pt.X := btnOpenFile.Width Div 2;
    Pt.Y := 0;
    BalloonHint1.ShowHint(btnOpenFile.ClientToScreen(Pt));
  end;
end;

是否仍将标题显示为按钮中的文本?

如果显式将BaloonHint1.title设置为nothing,例如:

Procedure TForm.ShowHintIfNeeded.
var
  Pt: TPoint;
begin
  if fNeedFileName then
  begin
    BalloonHint1.Title := ''; 
    BalloonHint1.Description := 'Click this button to open';
    Pt.X := btnOpenFile.Width Div 2;
    Pt.Y := 0;
    BalloonHint1.ShowHint(btnOpenFile.ClientToScreen(Pt));
  end;
end;

这是否仍然将标题显示为按钮中的文本?

我不确定为什么需要它,但是,是的,这解决了它。非常感谢!!我不知道为什么需要它,但是,是的,它解决了问题。非常感谢!!