Когда я использую toUseExplorerTheme
в TVirtualStringTree.PaintOptions
рисует выбор так:Виртуального TreeView с toUseExplorerTheme
Обратите внимание, что выбор простирается от левой стороны элемента управления положением крайней правой степени любого заголовка узла; выбор имеет одинаковую ширину.
Я хочу, чтобы это выглядело, как на этом изображении (someone else's project, с помощью Virtual TreeView), где выбор охватывает только текст заголовка узла:
Если не регресс в Virtual TreeView (Я использую 5.2.2), тогда это должно быть возможно, но я не могу найти правильную комбинацию опций.
Вот мой установка код:
fTree := TVirtualStringTree.Create(Self);
fTree.Parent := Self;
fTree.Align := alClient;
fTree.OnGetText := TreeGetText;
fTree.OnInitNode := TreeInitNode;
fTree.OnInitChildren := TreeInitChildren;
fTree.OnChange := TreeSelectionChange;
fTree.RootNodeCount := 1;
fTree.DrawSelectionMode := smBlendedRectangle;
fTree.TreeOptions.PaintOptions := fTree.TreeOptions.PaintOptions
+ [toUseExplorerTheme];
fTree.TreeOptions.SelectionOptions := fTree.TreeOptions.SelectionOptions
+ [toMultiSelect];
Ragged edge on multi-select? Yikes .... Вкусы разные, я думаю, но это будет выглядеть, ну ... неряшливо? +1 За хорошо поставленный вопрос. –
@Marjan, разнообразие - это пряность жизни :-) – TLama
@MarjanVenema Альтернатива выборам в стиле Explorer, которые охватывают всю ширину, но тогда более сложно/невозможно щелкнуть за пределами выделения, чтобы отменить выбор всех. Во всяком случае, мне нравится рваный правый край. –