|
트리에서 원하는 계층까지만 모두 활성화 시켜서 보여주는 구문을 코딩했봤습니다.
void __fastcall TMainForm::ToolButton32Click(TObject *Sender)
{
TTreeNode *RootNode;
RootNode = MainForm->MainFullTreeView->Items->GetFirstNode();
RootNode->Expand(false);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton33Click(TObject *Sender)
{
TTreeNode *RootNode;
TTreeNode *ChildNode;
RootNode = MainForm->MainFullTreeView->Items->GetFirstNode();
RootNode->Expand(false);
ChildNode = RootNode->getFirstChild();
while (ChildNode != NULL){
ChildNode->Expand(false);
ChildNode = ChildNode->getNextSibling();
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton34Click(TObject *Sender)
{
TTreeNode *RootNode;
TTreeNode *ChildNode;
TTreeNode *ChildNode2;
RootNode = MainForm->MainFullTreeView->Items->GetFirstNode();
RootNode->Expand(false);
ChildNode = RootNode->getFirstChild();
while (ChildNode != NULL)
{
ChildNode->Expand(false);
ChildNode = ChildNode->getNextSibling();
}
ChildNode2 = ChildNode->getFirstChild();
while (ChildNode2 != NULL)
{
ChildNode2->Expand(false);
ChildNode2 = ChildNode2->getNextSibling();
}
}
//---------------------------------------------------------------------------
1계층과 2계층을 보여주는 것은 잘되는데..... 그래서 3계층까지 보여주는 구문은 2계층의 방법을
한번 더 수행시켜서 물론 보시다시피 2계층에 다음노드를 받아온다고 받아와서 같은방식으로
컴파일 시켜봤는데 이렇게 하면 에러가 나더군여... 뭐가 잘못된건지...
그리고 한가지더여.
활성화를 시켜줄때 2계층 이상에서 활성화가 된 노드가 있으면 1계층만 보여줄고 해도 열려진노드들은
다 열려진걸로 보이거든여. 그래서 일단 활성화 시키기 전에 모든 노드를 닫은다음에 다시
위에함수로 보여주면 될꺼 같은데 모두 닫는 방법을 모르겠어여 이것도 좀 갈켜주세여.... 제발.....
|