Share via


ListView_SortItemsEx 매크로(commctrl.h)

애플리케이션 정의 비교 함수를 사용하여 목록 뷰 컨트롤의 항목을 정렬합니다. 각 항목의 인덱스는 새 시퀀스를 반영하도록 변경됩니다. 이 매크로를 사용하거나 LVM_SORTITEMSEX 메시지를 명시적으로 보낼 수 있습니다.

구문

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

매개 변수

hwndLV

형식: HWND

목록 보기 컨트롤에 대한 핸들입니다.

_pfnCompare

형식: PFNLVCOMPARE

애플리케이션 정의 비교 함수에 대한 포인터입니다. 두 목록 항목의 상대적 순서를 비교해야 할 때마다 정렬 작업 중에 호출됩니다.

_lPrm

형식: LPARAM

비교 함수에 전달되는 애플리케이션 정의 값입니다.

반환 값

없음

설명

비교 함수에는 다음과 같은 형식이 있습니다.

int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);

여기서 lParam1 은 첫 번째 항목의 인덱스이고 lParam2 는 두 번째 항목의 인덱스입니다. ListView_SortItemsExlParamSort 매개 변수는 콜백 함수에 세 번째 매개 변수로 전달됩니다.

비교 함수는 첫 번째 항목이 두 번째 항목보다 선행해야 하는 경우 음수 값을, 첫 번째 항목이 두 번째 항목 뒤에 오는 경우 양수 값을, 두 항목이 동등하면 0을 반환해야 합니다.

필요한 경우 LVM_GETITEMTEXT 메시지를 보내 항목에 대한 추가 정보를 검색할 수 있습니다.

이 매크로는 비교 함수에 전달되는 정보 유형을 제외하고 ListView_SortItems 비슷합니다. ListView_SortItemsEx 항목의 인덱스는 lparam 값 대신 전달됩니다.

참고 정렬 프로세스 중에 목록 보기 콘텐츠가 불안정합니다. 콜백 함수가 LVM_GETITEM(ListView_GetItem) 외에 목록 뷰 컨트롤에 메시지를 보내는 경우 결과를 예측할 수 없습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 commctrl.h