Текущий архив: 2007.05.13;
Скачать: 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 вся ветка
Текущий архив: 2007.05.13;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.042 c