Компонента Ttreeview. Onexpanded(...) Не работает так как я думаю, под

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Raschet5, 2 июн 2010.

  1. Raschet5

    Raschet5 Гость

    Кратко : Нужно чтобы после раскрытия первого узла, все вложенные открывались автоматом. Прочёл умную работу по TTreeView из интернета и написал :

    Код (C++):
    void __fastcall TForm1::Tree2Expanded(TObject *Sender, TTreeNode *Node)
    {
    //      Node->Expand(true);
    TTreeNode* N;
    N = Node;
    while(N->HasChildren)
    {
    if (N->Expanded == false)
    N->Expanded = true;
    N = N->getFirstChild();
    };
    }
    При выполнении выдаёт ошибку StackOverflow.
    Троссирую и вижу, как только программа попадает на N->Expanded = true; после этого вместо следующей строки уходит на начало процедуры. Видимо, при выполнении этой строки происходит рекурсивный вызов процедуры. А мне то всего лишь и надо, чтобы при раскрытии первого элемента, все остальные вложенные разворачивались до последнего листа. А остальное дерево было свёрнуто. Видимо туплю, но мысли чего-то кончились. (С деревом ранее не работал). Ну и вобщем хелп. Где я накосячил?
     
  2. Raschet5

    Raschet5 Гость

    Есть возможность раскрывать всё дерево. Но мне нужно только выбранную ветку.
    Есть возможность работать сразу по всей вложенной ветке. Это первое что сделал. Это как раз таки Node->Expand(true); Но результат тот же. Переполнение буфера.

    Как включать и отключать реакцию на событие?
     
  3. Raschet5

    Raschet5 Гость

    Спасибо. Попробую.
     
  4. Raschet5

    Raschet5 Гость

    Нашёл другое решение :

    Код (C++):
     void __fastcall TForm1::Tree2Click(TObject *Sender)
    {
    TTreeNode *Node;
    Node = Tree2->Selected;
    if (Node->Expanded == true)
    Node->Expand(true);
    }
     
Загрузка...
Похожие Темы - Компонента Ttreeview Onexpanded(
  1. JohnLemon
    Ответов:
    1
    Просмотров:
    559
  2. bang
    Ответов:
    0
    Просмотров:
    1.307
  3. V88
    Ответов:
    2
    Просмотров:
    3.637
  4. neo7777
    Ответов:
    1
    Просмотров:
    2.984
  5. Normann
    Ответов:
    5
    Просмотров:
    3.764

Поделиться этой страницей