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
[57383] ListView 질문입니다.
일월영측 [kimysh] 1292 읽음    2009-06-23 21:49
ListView에서 Caption을 사용하지 않고 가운데 정렬로 네개의 서브 아이템을 만들었습니다.
첫번째 Column에는 현재 시간이 지속적으로 밀리초 단위 까지 입력이 됩니다.
두번째 Column에는 영어단어가 입력이 되어서 그 영어 단어에 대한 정렬을 아래와 같이 실행을 하였습니다.

아래와 같이 실행을 하게 되면 영어의 내림차순과 오름차순에 대해 정렬을 할 수 있는데 처음
ListView에 올려져 있는 정보를 원상복귀 시키진 못합니다. 그래서 생각을 한것이 시간에 대한 정렬을 생각해봤는데
어떻게 시간에 대해 정렬을 시켜야할지 몰라서 이렇게 질문을 올립니다.  영어에 대한 내림차순과 오름차순 정렬을 다시 맨 처음 상태로 원상 복귀 시키는 방법이 없는걸까요??

제발 좀 도와주세요..ㅜ


void __fastcall TfrmMain::listColumnClick(TObject *Sender,
      TListColumn *Column)
{
    if(m_SortByColumn == Column->Index)
    {
        m_SortOrder *= -1;
    }
    else
    {
        m_SortOrder = 1;
    }
    list->CustomSort(NULL, Column->Index);
    m_SortByColumn = Column->Index;
}
void __fastcall TfrmMain::listCompare(TObject *Sender, TListItem *Item1,
      TListItem *Item2, int Data, int &Compare)
{
    if(Item1->SubItems->Strings[Data-1] < Item2->SubItems->Strings[Data-1])
    {
        Compare = -1;
    }
    else if(Item1->SubItems->Strings[Data-1] > Item2->SubItems->Strings[Data-1])
    {
        Compare = 1;
    }
    else
    {
        Compare = 0;
    }
    Compare *= m_SortOrder;
}

+ -

관련 글 리스트
57383 ListView 질문입니다. 일월영측 1292 2009/06/23
57387     Re:ListView 질문입니다. 김상구.패패루 1727 2009/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.