строки под новый шрифт не подстраивается.
пытаюсь триггернуть пересчёт через выключение флага vsHeightMeasured в свойстве States каждой строки — ноль реакции
как сделать, чтоб работало? каждый раз грид заново заполнять?
Дома гляну, есть место, где это на лету меняю
Возможно в свойствах грида есть галка, чтоб вообще была такая возможность
Тебе нужно у ВСЕХ строк высоту поменять или только там, где размер шрифта поменялся?
всех, шрифт назначается для контрола целиком
Там должно быть свойство RowHeight, попробуй просто задать его и сделать дереву рефреш
есть DefaultRowHeight уже пробовал, это не меняет ничего пока включил опцию toVariableNodeHeight и в обработчике MeasureItem подсовываю текущую высоту шрифта
Щас, у себя гляну
procedure UpdateTV(ATree: TVirtualStringTree; AImages: TImageList; ASize: Integer); begin ATree.Images := AImages; ATree.Font.Size := ASize; ATree.DefaultNodeHeight := ATree.Images.Height + 2; ATree.BeginUpdate; try for var Node in ATree.Nodes do ATree.NodeHeight[Node] := ATree.DefaultNodeHeight; finally ATree.EndUpdate; end; end;
Обсуждают сегодня