Я хочу показать подсказку, когда текст ячейки уже полностью показан.
Итак, в форме OnCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
VirtualStringTree1.HintMode := hmHint;
VirtualStringTree1.ShowHint := True;
end;
и OnGetHint
procedure TForm1.VirtualStringTree1GetHint(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex;
var LineBreakStyle: TVTTooltipLineBreakStyle; var HintText: string);
begin
HintText := IntToStr(Node.Index);
end;
но ничего не происходит.
Обработчик события OnGetHint не срабатывает, и даже точка останова TBaseVirtualTree.CMHintShow не работает.
что я могу сделать?
Я использую delphi xe3, virtualtreeview 5.2.1.
Спасибо за ответ.
Я следовал твоему руководству.
Свойства приложения
ShowHint := True
// Я проверил, но явно установил значение true в OnCreate
Vst свойства
Hint
, например. 'Подсказка для всего VST' // да, добавить бессмысленную подсказкуHintAnimation
, e.g.hatNone
HintMode
, например.hmHintAndDefault
// как видите, при OnCreateShowHint
,True
// как видите, на OnCreateParentShowHint
при необходимости используйтеFalse
если не знаете // да
События VST для реализации
OnDrawHint()
// даOnGetHint()
// даOnGetHintSize()
// да
но ничего не изменилось.
OnGetHint, OnGetHintSize, OnDrawHint вообще не запускаются.
(когда для HintMode установлено значение hmToolTip и текст отображается не полностью, запускается только OnGetHint)
И да, я читал эту документацию VirtualTreeView.pdf
.
но все описание события в точности совпадает с вашей цитатой.
Мне нужно больше объяснений.
Обновление:
Очень странная вещь.
Я тестировал это на других ПК.
My PC
Windows 10
xe3
vst 5.2.1
- не работа
PC 1
Windows 10
xe3
vst 5.2.1
- скомпилировать и выполнить // работу
- скомпилировать на моем ПК, скопировать и выполнить // работу
PC 2
Windows 10
- скомпилировать на моем ПК, скопировать и выполнить // работу
Что????
проблема была не в коде.
Не знаю почему и даже с чего начать.
в любом случае, я действительно благодарю за ответ и принимаю его.
если кто-нибудь знает об этой странной вещи, пожалуйста, дайте мне знать.
если я узнаю, я обновлю.