如何使用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中的代码创建新的提示窗口类用于绘画。