我在Office加载项中有一个'hint window leftovers' problem虚拟树视图,现在我想自定义提示窗口来解决问题。我想使用JVCL包中的TJvBallonHint,它也用在我程序的其他部分。
我继承了TVirtualStringTree并重写了GetHintWindowClass方法,如下面的代码所示。应用了TJvBallonHint窗口类,但未绘制提示文本。有什么提示吗?谢谢!
function TMyStringTree.GetHintWindowClass: THintWindowClass;
begin
Result :=TJvBalloonWindow;;
end;
答案 0 :(得分:0)
自定义类应继承自TVirtualTreeHintWindow
不是TJvBalloonWindow
。
这不是正式要求的,因为它应该只是THintWindowClass
,但请查看TVirtualTreeHintWindow
的代码 - 它甚至不使用Caption
(这就是为什么你的提示的标题为空):
procedure TVirtualTreeHintWindow.CMTextChanged(var Message: TMessage);
begin
// swallow this message to prevent the ancestor from resizing the window (we don't use the caption anyway)
end;
我建议您使用TJvBalloonWindow
中的代码创建新的提示窗口类进行绘制。