C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Компанент TreeView, Как "получить " знач. выбр. Text ?
SmAlex
Отправлено: 04.04.2005, 13:53


Станционный диспетчер

Группа: Участник
Сообщений: 91



На форме есть TreeView и Panel.
Хотелось бы, чтобы после выбора какого-либо Item в TreeView и после двойного клика, Panel->Caption принимало значение соответсвующего
текста то есть, скажем для 3 :

Panel1->Caption= TreeView1->Items ->Item[3]->Text;

Пишу код:

void __fastcall TForm1::TreeView1DblClick(TObject *Sender)
{


Panel1->Caption= TreeView1->Items ->Item[3]->Text;

}

ВСЁ РАБОТАЕТ!!

НО:

Panel1->Caption= TreeView1->Items ->Item[Node]->Text;
Ни фига не работает...
Догадываюсь, что это не сложно= но КАК? Не знаю....

Спасибо за ответ.

Konstantine
Отправлено: 04.04.2005, 14:06


Мастер участка

Группа: Модератор
Сообщений: 545



CODE
if(TreeView1->Selected)
 Panel1->Caption=TreeView1->Selected->Text


Отредактировано Konstantine — 04/04/2005, 14:09
Guest
Отправлено: 04.04.2005, 14:07


Не зарегистрирован







Примерно так
CODE

if (TreeView1->Selected) Panel1->Caption = TreeView1->Selected->Text;
SmAlex
Отправлено: 04.04.2005, 14:10


Станционный диспетчер

Группа: Участник
Сообщений: 91



Спасибо, работает!
А можно ли всё-таки сделать через Item? То есть:

void __fastcall TForm1::TreeView1DblClick(TObject *Sender)
{

Panel1->Caption= TreeView1->Items ->Item[???]->Text;

}

И если можно, то как???

Отредактировано SmAlex — 04/04/2005, 14:38
Valdemar
Отправлено: 04.04.2005, 15:54


Мастер участка

Группа: Участник
Сообщений: 433



Можно и через Item:
CODE
Panel1->Caption=TreeView1->Items->Item[TreeView1->Selected->AbsoluteIndex]->Text


Отредактировано Valdemar — 04/04/2005, 15:55
SmAlex
Отправлено: 05.04.2005, 09:30


Станционный диспетчер

Группа: Участник
Сообщений: 91



Спасибо! Премного благодарен!
AVC
Отправлено: 05.04.2005, 09:50


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE (SmAlex @ 04/04/2005, 13:10)
Спасибо, работает!
А можно ли всё-таки сделать через Item?

Это мне напоминает старый анекдот
Задача 1. Есть вода, чайник, плита. Нужно получить кипяток.
Решение: Налить воду в чайник, поставить не плиту, ждать пока закипит.

Задача 2. Есть чайник с водой, плита. Нужно получить кипяток.
Решение: Выливаем воду из чайника, тем самым, сводя условия этой задачи к условиям предыдущей, которую мы уже решили.
SmAlex
Отправлено: 05.04.2005, 10:49


Станционный диспетчер

Группа: Участник
Сообщений: 91



Да, это анекдот про математика...
62316e
Отправлено: 05.04.2005, 13:59


Дежурный стрелочник

Группа: Участник
Сообщений: 38



Ищьо один вариант через ТИтем]:->
CODE
Panel1->Caption = (*TreeView1->Items)[TreeView1->Selected->AbsoluteIndex]->Text;
AVC
Отправлено: 05.04.2005, 14:13


Ветеран

Группа: Модератор
Сообщений: 1583



Кстати. В первоначальной постановке (пост 1) проблему лучше решать обрабатывая событие OnChanging.

Вернуться в Вопросы программирования в C++Builder