|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Цвет строк в TreeView
Доброго всем времени суток.
У меня происходит программное заполнение содержимого TreeView в цикле, и в нём же мне нужно раскрашивать тем или иным цветом вновь добавленную строку. Подскажите пожалуйста, это вообще реально и если реально, то как? Заранее благодарю. Использую XE2 |
#2
|
||||
|
||||
Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
VarvarNet (12.12.2012)
|
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
Цитата:
Код:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); var int: Integer; begin if TryStrToInt(Node.Text, int) then begin Sender.Canvas.Brush.Color := clLime; Sender.Canvas.Font.Color := clBlack; end; end; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
VarvarNet (12.12.2012)
|
#5
|
|||
|
|||
Премного благодарен!
Дальше уже идею разовью! |
#6
|
||||
|
||||
Цитата:
Код:
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; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
VarvarNet (12.12.2012)
|