Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
6 / 5 / 3
Регистрация: 04.06.2015
Сообщений: 250
Записей в блоге: 1

Поиск абсолютного индекса элемента в TreeView

10.04.2016, 22:57. Показов 2265. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые коллеги! Помогите решить такую проблемку. Если объяснять коротко, то в Borland C++ Builder для элементов TreeView есть такое свойство AbsoluteIndex, который возвращает абсолютный индекс элемента в дереве TreeView, без учета вложенности уровней... Вот не могу никак найти аналогичное свойство в VC. Подскажите, пожалуйста, кто знает! Либо, если аналога и впрямь нет, то какой манипуляцией в VC можно этот АБСОЛЮТНЫЙ индекс получить?

А теперь опишу подробнее свой вопрос, основываясь на конкретной ситуации (если кому-то оказалось не совсем понятно, что я имею в виду из написанного выше).
Имеется дерево вида:

+Узел[0]
- элем1
- элем2
. . .
- элем8
+Узел[1]
- элем1
. . .
- элем6

В событии AfterSelect (выбираю элемент дерева щелчком мыши), выбирая любой дочерний элемент, мне нужно получить его "порядковый номер" (абсолютный индекс). Пробовал воспользоваться свойством e->Node->Index; но так я получаю индексы дочерних элементов, начиная с нуля в каждом узле. Т.е. когда я выбираю, допустим, элемент1 Узла[1], я получаю индекс 0, а мне нужно, чтоб он был 9, соответственно для, например, элемента 3 Узла[1] он должен быть не 2, а 11. Т.е. в порядке начиная от (Узел[0],элем1) = 0 до (Узел[1],элем6) = 14.
Подскажите, кто знает, как можно получить такую индексацию! Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2016, 22:57
Ответы с готовыми решениями:

Treeview получение индекса выделенного элемента
Имеется такое дерево, мне необходимо, допустим, выбрать из контента все сумки, 1ый узел. Для этого мне надо знать индекс 2 узла...

Поиск индекса выбранной ветки treeView
Нужно чтобы искался индекс выбраной ветке treeview. public int index; private void treeView1_Click(object sender, EventArgs e) ...

Поиск индекса элемента
приветствую! помогите пожалуйста! Напишите функцию elemIndices :: Eq a => a -> -> , которая находит, под какими индексами в списке...

2
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
11.04.2016, 14:52
Cha1000000, во встроенном элементе управления такой функциональности нет. Можно создать наследника от TreeView, добавить к нему метод AddNode который будет назначать абсолютный индекс. Его можно хранить в наследнике отTreeView в отдельном массиве или создать еще наследника от TreeNode с нужным полем.
1
6 / 5 / 3
Регистрация: 04.06.2015
Сообщений: 250
Записей в блоге: 1
11.04.2016, 15:52  [ТС]
А можно об этом немного по подробнее? Пример написания привести можете? Спасибо.

Добавлено через 11 минут
Кажется разобрался. Сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
             TreeNode^ rootNode;
             TreeNode^ node;
             int count = 0;
             for each(rootNode in DevTree->Nodes)
             {
                 for each( node in rootNode->Nodes)
                 {
                     if (node->IsSelected)
                         break;
                     node->Tag = count++;
                 }
                 if (node->IsSelected)
                     break;
             }
Выдаёт то, что надо. Спасибо!

Добавлено через 29 минут
А точнее так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int AbsaluteIndex;      // Абсолютный индекс дочернего узла                        
             TreeNode^ rootNode;    // корень
             TreeNode^ node;        // наследник
             int count = 0;
             for each(rootNode in DevTree->Nodes)
             {
                 for each( node in rootNode->Nodes)
                 {
                     if (node->IsSelected)
                         break;
                     node->Tag = count++;
                 }
                 if (node->IsSelected)
                     break;
             }
             AbsaluteIndex = (int)node->Tag;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2016, 15:52
Помогаю со студенческими работами здесь

Поиск индекса минимального элемента
Вводится квадратная матрица с клавиатуры( не более 10 чисел). Найти и вывести индекс минимального элемента третьей четверти.

Поиск индекса нужного элемента
Дан массив состоящий из 0 и 1. Как найти индекс единицы, которая находится ближе всего к 0(любому).Заранее спасибо. Добавлено через 27...

Поиск индекса нужного элемента
Доброго времени суток. Некоторые проблемы с программой. Работает правильно - генерирует массив с заданными пользователем строками и...

Поиск индекса максимального элемента массива
Добрый день, уважаемые форумчане! Задача вроде бы элементарная, но вот уже вторые сутки не могу понять в чем проблема - перепробовал массу...

Осуществить поиск индекса максимального элемента
Нужно найти индекс макс. эл-та. Ошибку я нашел, а вот как ее исправить - не знаю. #include <iostream> #include <string> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru