TVirtualStringTree, позиция древовидной структуры - PullRequest
0 голосов
/ 03 марта 2019

Визуальная древовидная структура VirtualStringTree всегда придерживается 1-го столбца (столбца с индексом = 0).Когда вы изменяете последовательность столбцов, перетаскивая заголовок столбца, дерево может выглядеть странно (изображение ниже).Можно ли видеть структуру всегда в первом видимом столбце?Test

1 Ответ

0 голосов
/ 04 марта 2019

Структура отображается на основе TVirtualStringTree.Header.MainColumn, который необходимо менять при каждом перемещении столбца, поскольку перемещение столбца не меняет его индекс, а свойство TVirtualTreeColumn.Position.Самый простой способ - использовать OnHeaderDragged.

procedure HeaderDragged(Sender: TVTHeader; Column: TColumnIndex; OldPosition: Integer);
begin
  MyTree.Header.MainColumn := MyTree.Header.Columns.ColumnFromPosition(0);
end;
...