Trooper, наварное VirtualStringTree, если да, то как вариант можно так
| Код | procedure TForm1.vtMeasureItem(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; var NodeHeight: Integer); begin if Node.ChildCount > 0 then NodeHeight := 22; end;
procedure TForm1.vtAfterItemPaint(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; ItemRect: TRect); begin if Node.ChildCount = 0 then Exit;
with TargetCanvas, ItemRect do begin Pen.Width := 2; Pen.Color := $B59784;
MoveTo(Left, Bottom - 1); LineTo(Right, Bottom - 1); end; end;
procedure TForm1.vtPaintText(Sender: TBaseVirtualTree; const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType); begin if (Column = 0) and (Node.ChildCount > 0) then begin TargetCanvas.Font.Style := [fsBold]; TargetCanvas.Font.Color := $B59784; end; end;
|
ЗЫ: Ну а вообще там куча вариантов отрисовки, эксперементируй |