IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проблема с компонентом TreeView, C++ builder
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Добрый день!

Необходимо заполниль дерево с помощью компонента TreeView, имя элемента дерева должно состоять из номеров и имен, т.е. например дерево должно выглядеть следующим образом:

Код
1имя1
2имя2
3имя3
   3.1имя4
   3.2имя5
      3.2.1имя6
4имя7
   4.1имя8


таким образом чтобы и дочерние и родительские элементы имели порядковый номер.
Столкнулся с такой проблемой что нумерация при добавлении дочернего элемента начинается с 0

Родительские элементы нумеруются нормально, а вот с дочерними проблема

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString name, roditelb;
TTreeNode *node;

if (TreeView1->Items->Count == 0) // добавление первого элемента
{
name = "1:";
name += Edit1->Text+":";
name += ComboBox1->Items->Strings[ComboBox1->ItemIndex];
TreeView1->Items->Add(NULL,name);
}
else
{
if (RadioGroup1->ItemIndex == 0) /// добавление родительских элементов
{
name = IntToStr(TreeView1->Items->Count+1)+":";
name += Edit1->Text+":";
name += ComboBox1->Items->Strings[ComboBox1->ItemIndex];
TreeView1->Items->Add(NULL,name);
}

if (RadioGroup1->ItemIndex == 1) /// добавление дочерних элементов
{
selected2++;
name = IntToStr(selected2)+":";
name = Edit1->Text+":";
name += ComboBox1->Items->Strings[ComboBox1->ItemIndex];
TreeView1->Items->AddChild(TreeView1->Selected,name);
}
}
}




Спасибо за помощь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Еще такой вопрос: как реализовать создание пунктов меню на основе полученного дерева? т.е Мне необходимо создать, используя компонент MainMenu, пункты меню, учитывая все уровни вложенности полученного дерева, не могу понять как мне это сделать.

получилось пока следующее:

TMenuItem *Menu;

for (i = 0; i < TreeView1->Items->Count; i++)
{
Menu = new TMenuItem(0);
Menu->Caption = "Пункт меню " + IntToStr(i+1);
MainMenu1->Items->Add(Menu);
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ninja   Проблема с компонентом TreeView   22.07.2010 21:10
Client   name = IntToStr(selected2)+":"; name = E…   22.07.2010 22:23
ninja   Да действительно опечатка, но это всего лишь добал…   22.07.2010 22:26
Client   присоедини весь проект, а то лень создавать самому…   22.07.2010 22:42
volvo   А дочерние можно нумеровать, используя не selected…   22.07.2010 22:53
ninja   Вот проект: Владимир спасибо Вам огромное все п…   22.07.2010 22:53
ninja   Еще такой вопрос: как реализовать создание пунктов…   23.07.2010 0:00
volvo   Так лень мне Билдер запускать... Дельфи открытая, …   23.07.2010 4:28
ninja   Владимир спасибо, на делфи все отлично работает, я…   26.07.2010 1:02
volvo   Значит, плохо перевел: void BuildMenu(TTreeNode *…   26.07.2010 1:30
ninja   Да действительно не тоже самое, Вы при объявлении …   26.07.2010 1:46
volvo   Могли бы... :) Внимательнее надо быть:   26.07.2010 2:37
ninja   мде) что-то я совсем невнимательный ((( спасибо е…   26.07.2010 2:42
ninja   Возникла еще такая проблема: необходимо сделать та…   30.07.2010 23:50
volvo   Глупостями не занимайся... Тебе достаточно только…   31.07.2010 15:34
ninja   В том то и дело, что я хотел сделать чтобы пользов…   31.07.2010 22:23
volvo   И все равно - не вижу проблемы: Ну, выбрал элемент…   31.07.2010 23:27
ninja   Владимир очередной раз говорю Вам огромное спасибо…   1.08.2010 0:01


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.09.2025 13:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name