Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перерисовка 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо