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

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

TreeView назначить событие на конкретный узел [D7, WinXP]


Николай1 ©   (2005-09-19 14:36:00) 

Добрый день. Мастера может кто знает как назначить событие на конкретный узел TreeView.

Я на основание MainMenu Строю дерево

В StateIndex записываю номер компонента TMenuItem и принажатии в дереве на узел вызываю его поцедуру

Вот код:
Он на событие OnClick TreeView

if Assigned(TMenuItem(Components[TreeView1.Selected.StateIndex]).OnClick) then
  TMenuItem(Components[TreeView1.Selected.StateIndex]).OnClick(Sender);

Вопрос вот вчём когда узел выделен то щёлкая мышью
по любому месту TreeView выполняется событие Selected узла
как этого избежать может кто уже сталкивался подскажите пожалуйста.
Зарание спасибо.


Digitman   (2005-09-19 16:54:00) [1]

Мы, божьей милостью Николай 1-й, родную словесность не знали и знать не желаем.

Нам, Николаям 1-ым, индифферентны правила пунктуации русского языка.

Нам, Николаям 1-ым, по колено правила правописания гласных после шипящих - не царское это дело !

У нас, Николаев 1-вых, принято говорить "до х..... и больше ", "зае..", когда нам, Николям N-ным, намекают на дурь несусветную в вопросе нашем, а так же на вопиющее наше Паскаля незнание.


Николай1   (2005-09-19 16:48:00) [2]

Извните за назойливость но очень надо можно чють чють поподробней про
Node.Data


Николай1   (2005-09-19 16:12:00) [3]

Извени а чють поподробней про Node.Data можно и как вызвать потом
установил так:
TreeView1.Items[0].Data:=@N19.OnClick;


Leonid   (2005-09-19 16:06:00) [4]

procedure TStartForm.TreeView1DblClick(Sender: TObject);
Var
 MyHitTest : THitTests;
begin
//X1Mouse,Y1Mouse - координаты мыши из OnMouseMove
 MyHitTest := TreeView1.GetHitTestInfoAt(X1Mouse,Y1Mouse);
 if htNowhere in MyHitTest then Exit; //проверка попадания в пункт

N:=TreeView1.Selected.AbsoluteIndex;//В редакторе TTreeView - State Index
Case N of
      1: begin


Ega23   (2005-09-19 15:54:00) [5]

Пиши в Node.Data адрес нужной процедуры


Kray   (2005-09-19 15:49:00) [6]

мышь контролируй, т.е. если ее позиция вписывается в выбраный диапазон


Николай1   (2005-09-19 15:03:00) [7]

Сам то понял, только ты что-то догнать неможещь, что у него ещё свободного места до х..... и больше и при нажатии на это свободное место в событии OnClick сробатывает обработка Selected-"выделенного" узла а так неннадо чтобы она срабатывала вот я и спрашиваю как
а стебаться зае уже.....


Digitman   (2005-09-19 14:56:00) [8]


> при нажатии на узел только на узел


сам-то понял что сказал ?


Николай1   (2005-09-19 14:49:00) [9]

Да я сам знаю что это не событие а его свойство
дак вопросто не втом событие это иле не событие

а как сделать так чтобы при нажатии на узел только на узел выполнялось соответствующие событие у MenuItem


Digitman   (2005-09-19 14:44:00) [10]


>  выполняется событие Selected узла


нет такого события.
тем более - у узла.


Наверх

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