|
|
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
Вот никак не могу понять как сделать так штобы выделялись все елементы Child под Parent когда выделяешь елемента Parent? См. рисунок. За ранние спосибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2005, 22:48:24 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
Ну я недавно сталкивался с этой проблемой. Решил при помощи рекурсивных вызовов (ведь потомки могут иметь в свою очередь потомков, а те тоже и так далее). Вроде работает. Просто привожу всю процедуру, вписав некоторые комментарии. -------------------------------------------------------------------------- Private Sub TreeCheck4Children(xNode As Node) Dim xSubNode As Node Dim i As Integer On Error GoTo SubErr детей нет - заканчиваем сразу If xNode.Children < 1 Then Exit Sub ловим первого потомка Set xSubNode = xNode.Child его индекс в дереве i = xSubNode.Index первый потомок получает значение родителя xSubNode.Checked = xNode.Checked здесь рекурсивно вызывается эта же проца на случай, если у него тоже есть потомки If xSubNode.Children > 0 Then Call TreeCheck4Children(xSubNode) End If это у нас полностью обработан первый потомок с его потомками (если имеются) и потомками потомков (опять же если имеются) ......................................................................... теперь в цикле таким же точно образом обрабатываем всех его родичей - это ведь остальные прямые потомки нашего узелка, рекурсивно проверяя и обрабатывая потомков этих родичей While i <> xSubNode.LastSibling.Index DemoTree.Nodes(i).Next.Checked = xNode.Checked If DemoTree.Nodes(i).Next.Children > 0 Then Call TreeCheck4Children(DemoTree.Nodes(i).Next) End If i = DemoTree.Nodes(i).Next.Index Wend SubEnd: Exit Sub SubErr: Debug.Print ("Fehler in TreeCheck4Children@" & UserControl.Name & Err.Description) RaiseEvent Failed(Array("TreeCheck4Children.vrWizStatDisassemble.WizStatDisassemble.ocx", Err.Number, Err.Description, Err.Source)) Resume SubEnd End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 00:39:36 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
прошу прощения за форматирование. сожралось как всегда. но разобраться думаю сможешь. успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 00:41:02 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
Спосибо разобрался. Если не трудно как сделать цикл по 'Node'-ам штобы посматреть какие Node выбраны? Спосибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 01:36:52 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
примерно так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 09:24:53 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
Спосибо HandKot! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 12:01:26 |
|
||
|
TreeView and CheckBoxes
|
|||
|---|---|---|---|
|
#18+
А если не секрет, это что за язык в твоём тривью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 19:10:35 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=60&tid=2167904]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 265ms |

| 0 / 0 |
