다음을 통해 공유


ListView_SortItemsEx 매크로(commctrl.h)

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

통사론

BOOL ListView_SortItemsEx(
   HWND         hwndLV,
   PFNLVCOMPARE _pfnCompare,
   LPARAM       _lPrm
);

매개 변수

hwndLV

형식: HWND

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

_pfnCompare

형식: PFNLVCOMPARE

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

_lPrm

형식: LPARAM

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

반환 값

형식: BOOL

성공하면 TRUE 반환하거나, 그렇지 않으면 FALSE .

발언

비교 함수의 형식은 다음과 비슷합니다.

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

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

비교 함수는 첫 번째 항목이 두 번째 항목 앞에 오면 음수 값을 반환하고, 첫 번째 항목이 두 번째 항목을 따라야 하는 경우 양수 값, 두 항목이 동일한 경우 0을 반환해야 합니다.

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

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

정렬 프로세스 중에 목록 보기 내용이 불안정합니다. 콜백 함수가 LVM_GETITEM(ListView_GetItem) 외에 목록 보기 컨트롤에 메시지를 보내면 결과를 예측할 수 없습니다.
 

요구 사항

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