0

我在 Office 加载项中使用 Virtual Treeview 时遇到“提示窗口剩余”问题,现在我想自定义提示窗口以解决该问题。我想使用 JVCL 包中的 TJvBallonHint,它也用于我程序的其他部分。

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

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

1 回答 1

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

于 2010-03-30T09:04:34.520 回答