Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Insert/Delete/Edit для TreeView [D6, Win95/98]


Aric ©   (2002-07-16 12:01:00) 

Приветствую!
Проблема собственно вот в чем:
Есть два TreeView, и три кнопки соответственно Вставка узла, удаление и редактирование, причем редактирование - это не изменение названия узла, а изменение связанных с ним данных из соответствующих СтрингЛистов, для каждого их два.
Нужно отслеживать, на каком именно TreeView, 1 или 2-м, нажаты эти кнопки. ActiveControl не подходит, т.к. в момент нажатия активен контрол кнопки, как я понимаю.
И ваще, буду признательна за пример работы с TreeView, со вставкой и удалением узлов (только не по клавишам), хотя бы...


Aric   (2002-07-16 12:43:00) [1]

Все, вопросы все сняты. Всем спасибо.


Skier   (2002-07-16 12:41:00) [2]

>Aric

TreeView2.Selected ?


Aric   (2002-07-16 12:39:00) [3]

В общем вот это TreeView2.Selections[0].Index;не работает, вернее работает не так, как мне б хотелось. Там хранится индекс в списке выделения, а мне нужен индекс выделенного узла. Помогите!


Skier   (2002-07-16 12:26:00) [4]

>Aric
Лучше повесь на OnChange


Aric   (2002-07-16 12:22:00) [5]

Спасибо всем за ответы! Отдыхать, видимо, надо больше. С флпгом все получилось, терь еще вопрос: при смене текущего узла надо менять инфу в Едит-ах, повесила вроде на Changing, но работает как-то криво(


procedure TForm1.TreeView2Changing(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
if TreeView2.SelectionCount <> 0
then
begin
Edit2.Text := TreeView2.Selections[0].Text;
Edit1.Text := St_n2[TreeView2.Selections[0].Index];
Edit3.Text := St_k2[TreeView2.Selections[0].Index];
end;
end;


TTCustomDelphiMaster   (2002-07-16 12:14:00) [6]

Заведи переменную
LastActivTreeView: TTreeView;
и изменяй ее значение допустим по onEnter


Digitman   (2002-07-16 12:13:00) [7]

А каким образом ты умудрилась сделать TTreeView контейнером для кнопок ? Или они просто визуально расположены в зоне клиентского окна компонента TreeView ?


Skier   (2002-07-16 12:10:00) [8]

>Aric
Можно "запоминать" какое именно дерево активно в тот момент
когда дерево получает фокус и записывать указатель на текущее дерево во временную переменную.

А в момент нажатия кпонки смотреть - что во временной переменной


Song   (2002-07-16 12:09:00) [9]

Вообще по-моему легче расположить их на TabSheet"ах, тогда будет всё логичней.
А если хотите как Вы задумали, тогда можно сделать флажок, который будет показывать какой TTreeView выбран и изменять его на TTreeView.onEnter


Наверх

Титульная страница Поиск, карта сайта Написать письмо