|
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;
}
|