[delphi] problem z treeview

0

Witam. Walcze z treeview w delphi i wlasnie zastanawiam sie czy ma on obsluge powiadomien taka jak w c++. Generalnie chodzi o wykonanie jakiejś akcji po kliknieciu na ktorys items z drzewka treeview. Czy istnieje cos w stylu TVN_SELCHANGED albo NM_RCLICK w delphi zeby obsluzyc takie zdarzenie? Bylbym wdzieczny o jakas wskazoweczke w tym temacie

0

Ja bym wykorzystał zdarzeni OnClick obiektu TTreeView.

procedure TForm1.TreeView1Click(Sender: TObject);
begin
 if treeview1.Selected.Index = IndexPotrzebnegoTreeNode then ZróbCoś;
end;

ewentualnie, jeżeli chcesz obsługiwać więcej nodów to możesz zastosować konstrukcję z case

procedure TForm1.TreeView1Click(Sender: TObject);
begin
 case Listview1.Selected.Index of
  1 : Akcja dla noda 1;
  2 : Akcja dla noda 2;
  3 : Akcja dla noda 3;
 else
  Akcja dla pozostałych nodów;
 end;
end;

równie dobrze możesz sprawdzać nie index zaznaczonego noda ale jego wartość (tekst znaczy się) albo co tam jeszcze chcesz.

0

W zdarzeniu OnChange dostajesz w parametrze klikniętego Noda.

0

Wielkie dzieki :-) Mam jeszcze jedno pytanko. Orientujecie sie co jest z numeracja nodow, otoz mam jeden nod glowny i kilka subnodow, problem z tym ze rozpoczalem numeracje nodow od 0 i teraz akcja dla noda zero pojawia sie zarowno dla glownego noda jak i pierwszego z subnodow. Natomiast gdy zaczalem numerowac od 1 to dziala ale od drugiego subnoda. Wiecie jak ten problem rozwiazac, jak rozdzielic akcje dla noda glownego i pierwszego subnoda?

0

MyNode.AbsoluteIndex

0

Probowalem poindektowac itemy z poziomu buildera przez treeview items editor, ale problem pozostaje nadal ten sam

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0