TTreeView: Come verificare se un child di uno specifico item è selezionato

di il
5 risposte

TTreeView: Come verificare se un child di uno specifico item è selezionato

Ciao a tutti,

ho una TreeView con un solo RootNode che contiene vari items che, a loro volta, hanno dei child. Ora, la mia esigenza è di aprire una specifica finestra se viene selezionato un qualsiasi child dell'item[1].

Il seguente codice fa esattamente ciò che mi serve. Non avendo io però particolare esperienza con la TreeView vorrei chiedervi se c'è un metodo migliore o se questo codice va bene così come è.
var
  Node: TTreeNode;
  i: Integer;
begin
  Node := TreeView1.Items[1].getFirstChild;
  if Node.Selected then
    begin
      ShowMessage('Subitem 1 is selected');
      Exit;
    end
  else
    begin
      for i := 0 to TreeView1.Items[1].Count - 2 do
        begin
          Node := Node.getNextSibling;
          if Node.Selected then
            begin
              ShowMessage('Subitem ' + IntToStr(i + 2) + ' is selected');
              Exit;
            end;
        end;
    end;
  ShowMessage('No subitem selected');
end;
Ale

5 Risposte

Devi accedere o registrarti per scrivere nel forum
5 risposte