答案 0 :(得分:4)
基于TVirtualStringTree.Header.MainColumn
显示结构,每次移动列时都需要更改,因为移动列并不会更改其索引,而是会TVirtualTreeColumn.Position
属性。最简单的方法是使用OnHeaderDragged
。
procedure HeaderDragged(Sender: TVTHeader; Column: TColumnIndex; OldPosition: Integer);
begin
MyTree.Header.MainColumn := MyTree.Header.Columns.ColumnFromPosition(0);
end;