如何使用TJvBalloonWindow作为虚拟树视图的提示窗口?

时间:2010-03-30 03:42:30

标签: delphi virtualtreeview

我在Office加载项中有一个'hint window leftovers' problem虚拟树视图,现在我想自定义提示窗口来解决问题。我想使用JVCL包中的TJvBallonHint,它也用在我程序的其他部分。

我继承了TVirtualStringTree并重写了GetHintWindowClass方法,如下面的代码所示。应用了TJvBallonHint窗口类,但未绘制提示文本。有什么提示吗?谢谢!

function TMyStringTree.GetHintWindowClass: THintWindowClass;
begin
  Result :=TJvBalloonWindow;;
end;

1 个答案:

答案 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中的代码创建新的提示窗口类进行绘制。