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
[3775] Re:트리뷰에서 여러개의 노드를 넣은 뒤 각 노드를 정렬해서 보이고 싶은데.. 어케 하죠..
[] 3552 읽음    2000-07-20 00:00
정말 모르겠다 님이 쓰신 글 :
: 트리뷰에서 여러개의 노드를 넣은 뒤 각 노드를 정렬해서 보이고 싶은데.. 어케 하죠..
: 트리뷰 정렬하는 부분을 모르겠어요??
: 알켜주세요

TTreeView 컴포넌트에는 AlphaSort() 메서드가 있습니다.
이 메서드는 전체 트리의 노드들을 정렬하는데 형제 노드간에만 정렬합니다.
즉, 조상노드나 방계노드와는 비교 정렬을 하지 않습니다.
정렬 방향은 디폴트로 오름차순이지만 OnCompare 이밴트에 핸들러를 만들어주면 내림차순으로 정렬할 수도 있습니다.
그리고 노드간에 정렬을 위해 비교할 때 무엇을 비교하는가를 SortType 속성에 지정할 수 있습니다.

void __fastcall TForm1::TreeView1Compare(TObject *Sender, TTreeNode *Node1,
      TTreeNode *Node2, int Data, int &Compare)
{
//오름 차순
if(rdgSort->ItemIndex==0)
{
  if(Node1->Text<Node2->Text) Compare=-1;
  else if(Node1->Text==Node2->Text) Compare=0;
  else Compare=1;
}
//내림 차순
else
{
if(Node1->Text>Node2->Text) Compare=-1;
else if(Node1->Text==Node2->Text) Compare=0;
else Compare=1;
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnSortClick(TObject *Sender)
{
TreeView1->AlphaSort();
}
끝.

+ -

관련 글 리스트
3773 트리뷰에서 여러개의 노드를 넣은 뒤 각 노드를 정렬해서 보이고 싶은데.. 어케 하죠.. 정말 모르겠다 3096 2000/07/20
3775     Re:트리뷰에서 여러개의 노드를 넣은 뒤 각 노드를 정렬해서 보이고 싶은데.. 어케 하죠.. 3552 2000/07/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.