Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Прорисовка в TTreeView   Найти похожие ветки 

 
Vilux ©   (2004-07-26 10:05) [0]

В дерево добавляется много элементов и тормозит это дело. Как бы мне отключить прорисовку элементов, пока дерево не заполнится, а потом включить?


 
KSergey ©   (2004-07-26 10:07) [1]

Items.BeginUpdate/EndUpdate


 
Vlad ©   (2004-07-26 10:08) [2]


> Vilux ©   (26.07.04 10:05)  

Не заполняй сразу все дерево, а только "верхние" узлы. Остальные заполняй динамически, при раскрытии узла, т.е. нажатии на (+)


 
KSergey ©   (2004-07-26 10:12) [3]

>  [2] Vlad ©   (26.07.04 10:08)

Само по себе дерево заполняется достаточно быстро (с учетом [1])
Ваш совет актуален только в случае, когда сами данные для заполнения доставать сравнительно долго.


 
Vilux ©   (2004-07-26 10:59) [4]

Спасибо, так наверное и сделаю, буду динамически заполнять.


 
Vilux ©   (2004-07-26 12:19) [5]

Возник еще такой вопрос, как мне принудительно нарисовать значок плюсика у итема, чтобы он мог раскрываться?


 
KSergey ©   (2004-07-26 12:21) [6]

Подозреваю, что надо в нем создать произвольный дочерний итем, но как-то указать, что это не реальные данные, что их надо еще закачать


 
Vilux ©   (2004-07-26 12:25) [7]

Как-то это некрасиво получается... неужели нет более легкого пути?


 
MetalFan ©   (2004-07-26 12:38) [8]


property HasChildren: Boolean;

Description

HasChildren is True if the node has subnodes, or False if the node has no subnodes. If ShowButtons of the tree view is True, and HasChildren is True, a plus (+) button will appear to the left of the node when it is collapsed, and a minus (-) button will appear when the node is expanded.

Note: If a node has no children, setting HasChildren to True will show a (+) plus button, but will not add any child nodes and the node cannot be expanded.

усе понятно?


 
MetalFan ©   (2004-07-26 12:39) [9]

а, ну да! это св-во  у TTreeNode


 
Vilux ©   (2004-07-26 13:02) [10]

Я использую TElTree, так там нельзя менять значение HasChildern :( только можно читать


 
savva ©   (2004-07-26 13:08) [11]

а подглядеть исходники VCL коран не дозволяет?


 
savva ©   (2004-07-26 13:12) [12]

2 минуты работы

procedure SetHasChildren(Handle : THandle;Value: Boolean);
var
 Item: TTVItem;
begin
 with Item do
 begin
   mask := TVIF_CHILDREN;
   hItem := ItemId;
   cChildren := Ord(Value);
 end;
 TreeView_SetItem(Handle, Item);
end;


вызов
SetHasChildren(YourNode.Handle, true) - покажет крестик


 
savva ©   (2004-07-26 13:18) [13]

единственно немогу тебе подсказать по поводу ItemId - потому как не видел тех специфичных компонентов, которые ты используешь


 
Экспериментатор   (2004-07-26 14:43) [14]

Поищи TVirtualTreeView
оно намного быстрее



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
6-1086678438
leonidus
2004-06-08 11:07
2004.08.08
Вопрос по TWebBrowser


14-1090322145
<DeL.>
2004-07-20 15:15
2004.08.08
Счетчик скачиваний на ПХП


1-1090829144
oss
2004-07-26 12:05
2004.08.08
присоединение файла obj


3-1089627838
ksa2002
2004-07-12 14:23
2004.08.08
Генератор в InterBase


14-1090524534
Murkt
2004-07-22 23:28
2004.08.08
Аниме