Is it possible to use the standard TTreeView to change the spread and smooth the image?
I do not mean the Node of the image, I mean the small arrows next to nodes that have children, for example:

Ideally, I would like the arrows to appear as + and - Symbols, as the tree structure of the Delphi components:

If this can be changed, how would I do it?
Working demo based on David's answer
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Themes, uxTheme; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; type TMyTreeView = class(TTreeView) protected procedure CreateWnd; override; end; var Form1: TForm1; implementation {$R *.dfm} { TMyTreeView } procedure TMyTreeView.CreateWnd; begin inherited; if ThemeServices.Enabled and CheckWin32Version(6, 0) then SetWindowTheme(Handle, nil, nil); end; procedure TForm1.FormCreate(Sender: TObject); var MyTree: TMyTreeView; Node: TTreeNode; begin MyTree := TMyTreeView.Create(nil); with MyTree do begin Parent := Self; Height := 100; Width := 100; Left := 30; Top := 30; Node := Items.Add(nil, 'Item'); Items.AddChild(Node, 'Item'); Node := Items.AddChild(Node, 'Item'); Items.AddChild(Node, 'Item'); end; end; end.
Result:

user741875
source share