![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перерисовка TTreeNode [D6, WinXP]
Алексей © (2004-11-17 16:38:00)Подскажите, плиз, как перерисовать одну ноду в дереве TTreeView.
Задача такая - в зависимости от условия меняю цвет шрифта. Далее ноду нужно перерисовать, только ее, а не все дерево.
Пока получается перерисовать все дерево.
Спасибо.
NAlexey (2004-11-18 12:10:00) [1]Тебе же >cae © (17.11.04 17:14) [1] ответил.
Алексей (2004-11-18 11:18:00) [2]Пример понятен, я так и делаю.
Мне нужно заставить перерисовать ноду в определенный момент.
Если сказать TreeView1.Update, то перерисовывается все дерево.
А TreeNode.Update не существует.
Как только ноду перерисовать?
Спасибо.
Ken (2004-11-17 17:59:00) [3]
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.TreeView1.Items.Add(nil, 'node1');
Form1.TreeView1.Items.Add(nil, 'node2');
Form1.TreeView1.Items.Add(nil, 'node3');
end;
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node.Text = 'node2' then TreeView1.Canvas.Font.Color := clRed;
end;
end.
Алексей (2004-11-17 17:23:00) [4]А примерчик какой-нибудь нельзя?
Заранее благодарен.
Ken (2004-11-17 17:16:00) [5]OnCustomDrawItem
cae (2004-11-17 17:14:00) [6]Используй InvalidateRect