【发布时间】: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