Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2009, 15:19   #1
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию основы TreeView в delphi

Знаю что это вопрос из детского сада, но проблема такая, создаю я item. А как мне сделать что при нажатии на item происходило какое нибудь действие???
BuT@JL вне форума Ответить с цитированием
Старый 22.04.2009, 22:17   #2
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

item - это что?

если я правильно понял, то, например, кнопка.
1) вытаскиваем ее на форму
2) кликаем по ней 1 раз (выделяем)
3) открываем в object inspector (окошко слева-снизу) вкладку Events
4) ищем там в столбике слева надпись OnClick и кликаем 2 раза по ячейке справа
5) пишем код

можно проще: вытаскиваем кнопку на форму, кликаем 2 раза (откроется окошко на событие OnClick), пишем

все нормально?
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 23.04.2009, 11:32   #3
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Juffin, item там не кнопка, там не так все просто
BuT@JL вне форума Ответить с цитированием
Старый 23.04.2009, 11:38   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

BuT@JL, если хочешь чтобы тебе ответили на вопрос, то создавай тему в подходящем разделе!
rpy3uH вне форума Ответить с цитированием
Старый 23.04.2009, 11:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как мне сделать что при нажатии на item происходило какое нибудь действие???
Ты хочеш создать элемент, добавить его к веткам дерева, а потом назначить обработчик на клик по элементу?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.04.2009, 12:21   #6
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
Ты хочеш создать элемент, добавить его к веткам дерева, а потом назначить обработчик на клик по элементу?
Я думаю он именно это имел ввиду
Stilet,может для этого лучше использовать событие onChanging для TreeView?
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 23.04.2009 в 12:25.
MalCer вне форума Ответить с цитированием
Старый 23.04.2009, 12:25   #7
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Например, можно при событии TreeviewMouseDown определять нажатие произошло на текст или нет, если да то выполнение некоторых действий.
Код:
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  HT: THitTests;
begin

   HT:=Treeview1.GetHitTestInfoAt(x,y);
   if htonLabel in HT then
   begin
   {действия которые надо выполнить если нажатие на item}
   end;

end;
Обрати внимание на тип THitTests и его элементы(один из которых htonLabel ), в стандартной справке сможешь найти пример и другие значения.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 23.04.2009, 12:48   #8
BuT@JL
Форумчанин
 
Регистрация: 27.11.2008
Сообщений: 137
По умолчанию

Мне нужно например чтобы при нажатии на первую строчку открывался memo1, при нажатии на вторую строчку открывался memo2 и т.д.
BuT@JL вне форума Ответить с цитированием
Старый 23.04.2009, 13:09   #9
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Как понять открывался memo1? Memo1 это компонент TMemo? Можно поподробнее. В чем смысл?
Например записать текст выбранного item будет так:
Код:
   {действия которые надо выполнить если нажатие на item}
   memo1.Text:=Treeview1.Selected.Text;
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 23.04.2009, 23:17   #10
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

TreeView1.Items.Selected - содержит выделенный элемент. Соотсветственно из этого и пляшешь. Либо как вариант
Код:
if TreeView1.Items[0].Selected then edit1.text:='перфый, на';
if TreeView1.Items[1].Selected then edit1.text:='фторой';
....
if TreeView1.Items[9].Selected then edit1.text:='в десятке';
и т.д.
Пишу по памяти, могу где-то наврать, но смысл такой.

Последний раз редактировалось Stilet; 24.04.2009 в 09:07.
Sergey2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Основы FastReport Dima_mazhor БД в Delphi 31 13.12.2009 15:34
разобраться с сообщениями. Основы. Roof Win Api 6 08.12.2008 22:04
ADO основы... Roof БД в Delphi 14 10.12.2007 21:28
обновление в блоге - Справочник - Основы Delphi программирования Pblog Обсуждение статей 0 23.06.2007 17:20