我希望在完整显示单元格文本时显示提示 所以,在表格上的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 propertyiess
Hint
,例如'提示整个VST'//是的,添加无意义的提示HintAnimation
,例如hatNone
HintMode
,例如hmHintAndDefault
//如您所见,OnCreate ShowHint
,True
//如您所见,OnCreate ParentShowHint
,根据需要,如果您不知道是,请使用False
要实施的Vst事件
OnDrawHint()
//是OnGetHint()
//是OnGetHintSize()
//是但没有改变
OnGetHint,OnGetHintSize,OnDrawHint根本不被触发。
(当HintMode设置为hmToolTip且文本未完全显示时,仅触发OnGetHint)
是的,我读了那份文件VirtualTreeView.pdf
但关于事件的所有描述都与你的引用完全相同
我需要更多解释。
更新
非常奇怪。
我测试了其他这些PC。
我的电脑
Windows 10
xe3
vst 5.2.1
PC 1
Windows 10
xe3
vst 5.2.1
PC 2
Windows 10
什么????
代码不是问题
我不知道为什么,甚至从哪里开始。
无论如何,我真的感谢回答并接受它 如果有人知道这个奇怪的事情,请告诉我 如果我发现,我会更新。
答案 0 :(得分:3)
必须为节点特定提示显示/实现多个属性和事件处理程序。以下内容可以帮助您入门:
应用程序属性
ShowHint := True
Vst属性
Hint
,例如'提示整个VST' HintAnimation
,例如hatNone
HintMode
,例如hmHintAndDefault
ShowHint
,True
ParentShowHint
,根据需要,如果您不知道,请使用False
要实施的Vst事件
OnDrawHint()
OnGetHint()
OnGetHintSize()
来自文档:
使用
OnDrawHint()
的事件处理程序绘制提示或工具提示 对于给定的节点。你必须实现这个事件OnGetHintSize()
得到一个暗示。
在网上查找VirtualTreeView.pdf
文档