Цитата:
Сообщение от VarvarNet
Премного благодарен!
Дальше уже идею разовью!
|
Для более сложной отрисовки лучше использовать OnAdvancedCustomDrawItem вместо OnCustomDrawItem. Примерно так:
Код:
procedure TForm1.TreeView1AdvancedCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var PaintImages, DefaultDraw: Boolean);
var
int: Integer;
aRect: TRect;
begin
DefaultDraw := True;
if (Stage = cdPostPaint) and TryStrToInt(Node.Text, int) then
begin
DefaultDraw := False;
aRect := Node.DisplayRect(True);
Sender.Canvas.Font.Color := clBlack;
Sender.Canvas.Brush.Color := clLime;
Sender.Canvas.FillRect(aRect);
Sender.Canvas.TextRect(aRect, aRect.Left + 1, aRect.Top + 1, Node.Text);
if cdsSelected in State then Sender.Canvas.DrawFocusRect(aRect);
end;
end;