【问题标题】:Delphi VirtualStringTree OnGetHintDelphi VirtualStringTree OnGetHint
【发布时间】:2017-12-18 09:03:32
【问题描述】:

我想在单元格文本已完全显示时显示提示。
所以,在表单的 OnCreate

procedure TForm1.FormCreate(Sender: TObject);
begin
  VirtualStringTree1.HintMode := hmHint;
  VirtualStringTree1.ShowHint := True;
end;

和 OnGetHint

procedure TForm1.VirtualStringTree1GetHint(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex;
  var LineBreakStyle: TVTTooltipLineBreakStyle; var HintText: string);
begin
  HintText := IntToStr(Node.Index);
end;

但什么也没发生。

OnGetHint 事件处理程序没有被触发,甚至 TBaseVirtualTree.CMHintShow 断点也不起作用。

我该怎么办?

我正在使用 delphi xe3,virtualtreeview 5.2.1。


感谢您的回答。

我听从了你的指导。

应用程序属性

  • ShowHint := True // 我检查过,但在 OnCreate 上明确设置为 true

Vst 属性

  • Hint,例如'提示整个 VST' // 是的,添加无意义的提示
  • HintAnimation,例如hatNone
  • HintMode,例如hmHintAndDefault // 如你所见,在 OnCreate 上
  • ShowHint, True// 如你所见,在 OnCreate 上
  • ParentShowHint,如果您不知道,请根据需要使用False // 是

要实现的 Vst 事件

  • OnDrawHint() // 是的
  • OnGetHint() // 是的
  • OnGetHintSize() // 是的

但没有任何改变。
OnGetHint、OnGetHintSize、OnDrawHint 根本不会被触发。
(当 HintMode 设置为 hmToolTip 且文本未完全显示时,仅触发 OnGetHint)

是的,我阅读了该文档VirtualTreeView.pdf
但有关活动的所有描述都与您的报价完全相同。
我需要更多解释。


更新:

很奇怪的事情。
我已经测试过这台其他电脑。

我的电脑 Windows 10 xe3 vst 5.2.1

  • 不工作

PC 1 Windows 10 xe3 vst 5.2.1

  • 编译并执行 // 工作
  • 在我的电脑上编译,复制并执行 // 工作

PC 2 Windows 10

  • 在我的电脑上编译,复制并执行 // 工作

什么????
代码不是问题。
我不知道为什么,甚至从哪里开始。

无论如何,我真的很感谢你的回答并接受它。
如果有人知道这个奇怪的事情,请告诉我。
如果我发现了,我会更新。

【问题讨论】:

  • 您没有在任何地方将 Application.ShowHint 设置为 FALSE,对吗?
  • @Dsm Application.ShowHint 是真的,我检查了。此外,当 HintMode := hmToolTip 和文本没有完全显示时,它可以正常工作并触发 OnGetHint

标签: delphi virtualtreeview tvirtualstringtree


【解决方案1】:

几个属性和事件处理程序必须到位/实现,才能显示节点特定的提示。以下内容应该可以帮助您入门:

应用程序属性

  • ShowHint := True

Vst 属性

  • Hint,例如'提示整个 VST'
  • HintAnimation,例如hatNone
  • HintMode,例如hmHintAndDefault
  • ShowHint, True
  • ParentShowHint,根据需要,不知道的使用False

要实现的 Vst 事件

  • OnDrawHint()
  • OnGetHint()
  • OnGetHintSize()

来自文档:

使用OnDrawHint() 的事件处理程序来绘制提示或工具提示 对于给定的节点。您必须实施此事件并 OnGetHintSize() 得到一个提示。

在网上查找 VirtualTreeView.pdf 以获取文档

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多