![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброго всем времени суток.
У меня происходит программное заполнение содержимого 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)
| ||