Treeview. Всегда отображать кнопку "+". WinForms
От: abespalov Россия  
Дата: 24.03.10 08:47
Оценка:
Дерево элементов не полностью загружается в treeview, т.к. их(элементов) много.
И дочерние элементы будут добавлены к родительскому при необходимости.
Как сделать так, что бы была возможность задавать наличие или отсутствие этой кнопки("+")? oO
Ведь поведение по умолчанию подразумевает отображение плюса только тогда, когда дочерние элементы уже загружены.

24.03.10 12:49: Перенесено модератором из '.NET' — TK
IN .NET WE TRUST
Re: Treeview. Всегда отображать кнопку "+". WinForms
От: Ellin Россия www.rsdn.ru
Дата: 24.03.10 08:57
Оценка:
Например при загрузки корня смотрим есть ли дочерние у элемента. Если есть добавляем фиктивный дочерний (чтоб + появился)
Отлавливаем событие нажатие на Expand и добавляем для разворачиваемого узла его дитей применяя аналогичный алгоритм.
Re: Treeview. Всегда отображать кнопку "+". WinForms
От: Аноним  
Дата: 24.03.10 09:02
Оценка:
Здравствуйте, abespalov, Вы писали:

A>Дерево элементов не полностью загружается в treeview, т.к. их(элементов) много.

A>И дочерние элементы будут добавлены к родительскому при необходимости.
A>Как сделать так, что бы была возможность задавать наличие или отсутствие этой кнопки("+")? oO
A>Ведь поведение по умолчанию подразумевает отображение плюса только тогда, когда дочерние элементы уже загружены.

Попробуй использовать временный узел — fake-node, добавляй его в узел где нужен (+), далее отслеживай события раскрытия узла и перед раскрытием удаляй этот временный узел и добавляй свои новые.
Re: Treeview. Всегда отображать кнопку "+". WinForms
От: Jolly Roger  
Дата: 24.03.10 10:01
Оценка:
Здравствуйте, abespalov, Вы писали:

В нативном дереве за это отвечает флаг TVIF_CHILDREN (0x40) каждого элемента. Вероятно, и здесь есть что-то подобное. А нет, так несложно самому выставить с помощью SendMessage
"Нормальные герои всегда идут в обход!"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.