Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

Прорисовка в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.087 c
1-1090499867
KADAN
2004-07-22 16:37
2004.08.08
Free дерева


3-1089900675
faost
2004-07-15 18:11
2004.08.08
Как посмотреть таблицы в базе данных Access?


4-1088418091
Denis_Visma
2004-06-28 14:21
2004.08.08
Автоклик на форме!!! не кликает!!!!


14-1090648539
STALKER
2004-07-24 09:55
2004.08.08
Всем привет!Как в XP запустить ScanDisk?


4-1088189241
Nomolos
2004-06-25 22:47
2004.08.08
Каким образом обработать нажатие на кнопку по описателю окна?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский