【问题标题】:Multiline Balloon Hints in DelphiDelphi 中的多行气球提示
【发布时间】:2011-07-01 12:16:39
【问题描述】:

我正在更改我的应用程序工具提示以使用 BalloonHints。对于测试,我使用单行并且显示得很好。但是当提示文本是多行时(即现有提示看起来像这样......

'This is a test' + #13 + 'Hello'+ #13 + 'Hello'+ #13 + 'Hello'+ #13 + 'Hello'

当它显示在 BalloonHint 中时,大小错误,整个条目列表被偏移,因此它们消失了。

有人有什么有用的建议吗?

更新:似乎是标题弄乱了显示。我会在质检中报告。

【问题讨论】:

  • win中的换行符是#13#10,你只用#13...改成#13#10有什么不同吗?
  • @ain:我试过了,还是不行。
  • Delphi 2009。我会用 xe2 再试一次

标签: delphi


【解决方案1】:

所以您已经知道,如果您将#13#10 放入属性检查器,实际上只是将字符按字面意思放入字符串中。改为这样做:

procedure TForm2.FormCreate(Sender: TObject);
begin
  Button1.Hint := 'This is a test' + #13 + 'Hello'+ #13 + 'Hello'+ #13 + 'Hello'+ #13 + 'Hello';

end;

当我在 Delphi XE 中尝试它时,它看起来不错。

TMS 的hint component 更好——所以如果你可以切换到别的东西,试试看。您也可以在 JVCL 中尝试 TJvBalloonHint。

【讨论】:

  • P:你是对的。当我尝试它时,我还在提示上使用了一个标题,然后它不适用于多行文本。我认为这是OP的问题,但现在我不确定了。例如,尝试Button1.Hint := 'This is a test|'#13'Hello'#13'Hello'#13'Hello'#13'Hello';
  • 这非常奇怪。当我用@Warren P 开始评论时,@Warren 部分会自动删除...
  • 我也不信任 TBalloonHint,但是我现在无法在 XE 中重现它的问题,看起来还不错。如果它包装了一个通用控件,那么这些错误可能是 MSCommon Controls 版本的错误。
  • 所以提示标题与多行文本不兼容?绝对是放弃这个并转到不同的提示组件的好理由。
  • 但是提示矩形是计算出来的,它不会针对多行的标题进行调整。如果是在delphi代码里面,应该放到QC里面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多