Re: Treeview & nodes
От: Danchik Украина  
Дата: 25.07.05 14:02
Оценка:
Здравствуйте, Dmitri_ru, Вы писали:

D_>Привет!


D_>У меня такая проблема. Я обрабатываю события OnCustomDrawItem TreeView. Здесь вопросв нет — все перерисовывается отлично, вот только результат перересовки виден, если выполнить treeview.repaint (refresh)... При этом естесственно окно моргает. У меня в таймере в зависимости от события меняется картинка возле item'a и поэтому как только срабатывает таймер — окно рефрешится, т.е. моргает. Есть какой нибудь другой способ обновлять нодесы, не прибегая к полной прорисовке treeview.



D_>П.С. вообще меня интересует больше прорисовка самой картинки, а не нодеса в целом (текст необязателен)...


D_>Я делал так:


D_>Rect:=Treeview1.Items[i].DisplayRect(false);

D_>ImageList1.Draw(TreeView.Canvas, Rect.Left,Rect.top,ImageIndex,True);

D_>Картинки прорисовываются, но каждая новая накладывается на предыдущую — а мне надо, что бы новая картинка сначала стирала предыдущую, а затем рисовалась сама


D_>Вот такой вопрос, может как-то через WinAPI это сделать можно


Можно конечно:

R := Node.DisplayRect (False);
InvalidateRect (TreeView.Handle, @R, False);


И не надо никакой прорисовки картинки...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.