R
Raschet5
Кратко : Нужно чтобы после раскрытия первого узла, все вложенные открывались автоматом. Прочёл умную работу по TTreeView из интернета и написал :
При выполнении выдаёт ошибку StackOverflow.
Троссирую и вижу, как только программа попадает на N->Expanded = true; после этого вместо следующей строки уходит на начало процедуры. Видимо, при выполнении этой строки происходит рекурсивный вызов процедуры. А мне то всего лишь и надо, чтобы при раскрытии первого элемента, все остальные вложенные разворачивались до последнего листа. А остальное дерево было свёрнуто. Видимо туплю, но мысли чего-то кончились. (С деревом ранее не работал). Ну и вобщем хелп. Где я накосячил?
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; после этого вместо следующей строки уходит на начало процедуры. Видимо, при выполнении этой строки происходит рекурсивный вызов процедуры. А мне то всего лишь и надо, чтобы при раскрытии первого элемента, все остальные вложенные разворачивались до последнего листа. А остальное дерево было свёрнуто. Видимо туплю, но мысли чего-то кончились. (С деревом ранее не работал). Ну и вобщем хелп. Где я накосячил?