C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[12116] Re:트리단에서 이렇게 하면 에러가......
무심코 [] 747 읽음    2001-10-26 15:10
ball... 님이 쓰신 글 :
: 트리에서 원하는 계층까지만 모두 활성화 시켜서 보여주는 구문을 코딩했봤습니다.
:
: 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계층만 보여줄고 해도 열려진노드들은
:
: 다 열려진걸로 보이거든여. 그래서 일단 활성화 시키기 전에 모든 노드를 닫은다음에 다시
:
: 위에함수로 보여주면 될꺼 같은데 모두 닫는 방법을 모르겠어여 이것도 좀 갈켜주세여.... 제발.....
:
================================================================================================
왜 While 문을 쓰는지 저로서는 잘 모르겠네요
어차피 상위 노드를 받았으면
기냥 마지막 단계에서 expand 시켜주면 될것 같은데
While 문을 사용하지 마시고 기냥 expand 만 시키면 되는거 아닌가요?
정 써야 할 이유가 있다면 마지막 노드에만 써 주어야 할것 같은데...


+ -

관련 글 리스트
12105 트리단에서 이렇게 하면 에러가...... ball... 881 2001/10/26
12116     Re:트리단에서 이렇게 하면 에러가...... 무심코 747 2001/10/26
12123         Re:Re:트리단에서 이렇게 하면 에러가...... ball... 742 2001/10/26
12124             Re:Re:Re:트리단에서 이렇게 하면 에러가...... 무심코 772 2001/10/26
12125                 Re:Re:Re:Re:트리단에서 이렇게 하면 에러가...... ball... 755 2001/10/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.