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
[4963] Re:Re:Re:[질문] 한꼬맹이님 다시 질문요...
한꼬맹이 [] 2831 읽음    2001-01-19 18:12
무정 님이 쓰신 글 :
: 님이 가르쳐 주신데로 해봤는데 값이 좀 다르게 나오는것 같더군요.
: 제가 잘 못해서 그럴지도 모르지만..
: 선택된 자식의 바로 위의 부모노드 인덱스값이 아닌것 같거든요.
: 그리고 GetNode는 어떤 노드 값을 얻어오는것인지요. 다시 좀 자세히 설명을 부탁드립니다.
:
: 한꼬맹이 님이 쓰신 글 :
: : 부모의 인덱스값 알아보시려면 다음과 같이 해보세요
: :
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: :   TTreeNode *TempNode, *TreeNode = TreeView1->Selected;
: :
: :   Caption = TreeNode->Parent->Index;
: :   TempNode = TreeView1->Items->GetNode(TreeNode->ItemId) //GetNode()사용법
: : }
: :
: : 그럼 참고하세요...

안녕하십니까

한꼬맹이 입니다.

먼저 GetNode()라는 메소드에대해서 말씀드리자면 트리뷰의 각노드마다  TV_ITEM이라는

구조체로 여러가지 정보를 구할수 있습니다. 트리뷰 각 노드마다 이 구조체를 구별할수 있는

식별자가 HTreeItem형의 아이디입니다. 이 아이디를 가지고 있는 노드의 포인터를 구하는 것이

GetNode()메소드 입니다. 즉 각노드의 유일한 아이디로 노드의 포인터를 구하는 것입니다.

그리고 각 노드는 부모에 대한 상대적인 인덱스와 루트에 대한 절대적인 인덱스가 있습니다.

제가 위에서 보여준 인덱스는 자기부모에 대한 상대적인 인덱스입니다. 다시 말해 위에

인덱스 또한 자기 부모가 붙여준 상대적인 인덱스 입니다. 그래서 자기 부모의 몇번째 자식이냐

에따라 0부터 순차적으로 인덱스값이 부여됩니다. 그런데 저코드는 제가 집접확인해 봤는데

아무이상 없던데.. 혹시 상대적인 인덱스(Index)가 아닌  다른 인덱스(AbsoluteIndex,

ImageIndex,)등등 다른인덱스하고 비교하신 것이 아닌지요...

그럼 참고하세요...   

+ -

관련 글 리스트
4950 [질문] 트리뷰에서 GetNode... 무정 2768 2001/01/18
4953     Re:[질문] 트리뷰에서 GetNode... 한꼬맹이 3188 2001/01/18
4957         Re:Re:[질문] 한꼬맹이님 다시 질문요... 무정 2748 2001/01/19
4963             Re:Re:Re:[질문] 한꼬맹이님 다시 질문요... 한꼬맹이 2831 2001/01/19
4979                 Re:Re:Re:Re:한꼬맹이님 감사... 무정 2686 2001/01/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.