Как использовать TJvBalloonWindow в качестве окна подсказок для виртуального дерева? - PullRequest
0 голосов
/ 30 марта 2010

У меня проблема «остатков окна подсказок» с Virtual Treeview в надстройке Office, и теперь я хочу настроить окно подсказок для решения проблемы. Я хочу использовать TJvBallonHint из пакета JVCL, который также используется в других частях моей программы.

Я унаследовал TVirtualStringTree и переопределил метод GetHintWindowClass, как показано в следующем коде. Класс окна TJvBallonHint применяется, но текст подсказки не рисуется. Любые советы для меня? Спасибо!

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

1 Ответ

0 голосов
/ 30 марта 2010

Пользовательский класс должен наследовать от 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.

...