TreeView

0

Mam trzy problemy, których nie udało mi się rozwiązać...

  1. Jak wyświetlić zawartość (sam tekst) TreeView w np. PopupMenu z zachowaniem struktury drzewa.
  2. Wszystkie item-y są zwinięte, jak zliczyć ilość tylko tych głównych?
  3. Jak sprawdzić czy dany item jest root-em dla innych?

Dzięki za wszelką pomoc...

0

ad. 2-3: HasChild, HasParent

0

Piszę u siebie TreeView.Items[0]. i do wyboru mam HasChild i HasAsParent no i nie wychodzi... Próbowałem różnych sposobów i dalej nie wiem jak to zliczyć...

haschild działa... Jeżeli będę sprawdzał po kolei to wyjdzie mi, że 3 item-y mają coś pod sobą. Chcę zliczyć te główne, czyli PIERWSZY I DRUGI.
Mam takie drzewko:

+PIERWSZY
-adsf
-adf
+cos
-asdf
-eidk
+DRUGI
-adfd
-idid

0

U mnie nie ma HasParent. Jest HasAsParent, którego już używałem na różne sposoby i dalej nie wiem jak to zrobić.
Opisałem wyżej co chcę uzyskać..
Czy ktoś może ma jakiś pomysł?

0

W np. taki sposób możesz policzyć rooty:

function Roots(var TV: TTreeView): Integer;
var
  Idx:integer;
begin
  Result := 0;
  for Idx := 0 to TV.Items.Count -1 do
        if TV.Items.Item[Idx].Parent = nil then
                Result := Result +1;
end;

I tu jednocześnie odpowiedzią na 3 pytanie jest warunek w tej funkcji.
A funkcja HasAsParent sprawdza czy podany jako argument item jest rodzicem danego itema, także nie przyda się w tym przypadku.

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