如何使用TJvBalloonWindow作为虚拟treeview的提示窗口?
问题描述:
我在Office加载项中有一个'hint window leftovers' problem虚拟Treeview,现在我想定制提示窗口来解决问题。我想从JVCL包中使用TJvBallonHint,该包也用于我的程序的其他部分。如何使用TJvBalloonWindow作为虚拟treeview的提示窗口?
我继承了TVirtualStringTree,并像下面的代码一样覆盖了GetHintWindowClass方法。 TJvBallonHint窗口类已应用,但提示文本未绘制。任何提示给我?谢谢!
function TMyStringTree.GetHintWindowClass: THintWindowClass;
begin
Result :=TJvBalloonWindow;;
end;
答
自定义类应该从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
中的代码创建新的提示窗口类用于绘画。