Вниз
Скачать: CL | DM;

Заблокировать доступ к родительской ветке ListView   Найти похожие ветки 

← →
kyn66 ©   (2007-03-16 10:19) [0]

Возможно-ли САБЖ, при таком раскладе:

-Родительская  ветка 1
 -дочерняя ветка 1
 -дочерняя ветка 2
 -дочерняя ветка 3
-Родительская  ветка 2
 -дочерняя ветка 1
 -дочерняя ветка 2
 -дочерняя ветка 3
...

т.е. родительские ветки не должны получать фокус


← →
Сергей М. ©   (2007-03-16 10:27) [1]

У ListView нет ни родительских ни дочерних "веток".
Ветки есть в TreeView

Обрабатывай OnChanging - там есть возможность запретить смену фокуса по требуемому тебе условию

AllowChange := Assigned(Node.Parent);


← →
kyn66 ©   (2007-03-16 10:44) [2]

Я не совсем грамотно задал вопрос. Родительская и дочерняя отличаются только визуально за счет сдвига вправо "дочрней ветки"? пардонс.
> AllowChange := Assigned(Node.Parent);
Это , я понимаю относится к TreeView. Да но у ListView тоже есть AllowChange...


← →
Сергей М. ©   (2007-03-16 10:55) [3]


> у ListView тоже есть AllowChange


Ну так и используй его, какие проблемы-то ?
Критерий проверки "родственных отношений ветвей" тебе известен же ...


← →
kyn66 ©   (2007-03-16 11:20) [4]

уже пробовал, но там нет связи для Parent. Пробовал так //  AllowChange := Integer(Item.Data) <> 0;

Вроде то что нужно, но в этом случае вааще ни одна ветка не прорисовывается(текст). Токак узлы голые и все


← →
Сергей М. ©   (2007-03-16 11:41) [5]


> но там нет связи для Parent


Разумеется нет. Но что мешает в "дочернем" TListTtem в св-ве Data сослаться на  "родительский" TListTtem ?
При таком решении проверка сводится к Assigned(Item.Data):
- True, если "дочерний"
- False, если "родительский"


> в этом случае вааще ни одна ветка не прорисовывается(текст).
>  Токак узлы голые и все


if Change = ctState then
AllowChange :=  ((Item.Selected and Assigned(Item.Data)) or not Item.Selected;

А чем TreeView не угодил ?


← →
kyn66 ©   (2007-03-16 11:58) [6]


> if Change = ctState then AllowChange :=  ((Item.Selected
> and Assigned(Item.Data)) or not Item.Selected;

Не шость не то, при клике на родителе - курсор к нему намертво прилепает.

> А чем TreeView не угодил ?


Вид представление такой нужен.


← →
Сергей М. ©   (2007-03-16 12:05) [7]


> kyn66 ©   (16.03.07 11:58) [6]


Ну тогда сам думай.
Справка-то всегда под рукой)


← →
kyn66 ©   (2007-03-16 12:18) [8]

Пытаюсь... А не скажешь заодно, почему у TreeView.Items.Objects отсутствует?


← →
Сергей М. ©   (2007-03-16 12:21) [9]


> почему у TreeView.Items.Objects отсутствует?


А почему, спрашивается, он обязан присутствовать ?


← →
Jeer ©   (2007-03-16 12:24) [10]

Treenode.Data тебе поможет.


← →
kyn66 ©   (2007-03-16 12:32) [11]

Пардонс, опять очепятка , имелось ввиду ListView.Items.Objects отсутствует


← →
Jeer ©   (2007-03-16 12:35) [12]

да с какого перепугу он там должен быть и кто это вообще ?

Пользуйся
TListItem.Data


← →
ЮЮ ©   (2007-03-16 12:40) [13]

От того, наверное, что TListItem не имеет отношения к TStrings, у которого он присутствует. А для хранения ссылки на объект достаточно и Data, который тоже Pointer


← →
kyn66 ©   (2007-03-16 12:58) [14]

>ЮЮ
Действительно, нашел уже и сам, Спасибо!



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.03 c
1-1174306611
zdm
2007-03-19 15:16
2007.05.13
локальная сортировака DbGridEh for FireBird


3-1171889776
mefisto
2007-02-19 15:56
2007.05.13
Проблема с печатью стариц на Fast report 4


2-1177273657
Malik
2007-04-23 00:27
2007.05.13
Вопрос компонентоам создающим дерево


15-1176215379
ProgRAMmer Dimonych
2007-04-10 18:29
2007.05.13
Что с математикой???


6-1163190483
Unleashed
2006-11-10 23:28
2007.05.13
Создание виртуального сетевого интерфейса




   Наверх