ListView_SetItemState 매크로(commctrl.h)
목록 보기 컨트롤에서 항목의 상태를 변경합니다. 이 매크로를 사용하거나 LVM_SETITEMSTATE 메시지를 명시적으로 보낼 수 있습니다.
통사론
void ListView_SetItemState(
HWND hwndLV,
int i,
UINT data,
UINT mask
);
매개 변수
hwndLV
형식: HWND
목록 보기 컨트롤에 대한 핸들입니다.
i
형식: int
목록 보기 항목의 인덱스입니다. 이 매개 변수가 -1이면 상태 변경 내용이 모든 항목에 적용됩니다.
data
형식: UINT
항목의 새 상태 비트입니다. 마스크 매개 변수는 데이터 매개 변수의 유효한 비트를 나타냅니다. 해당 비트가 마스크 매개 변수에 설정되지 않은 경우 매크로는 데이터 매개 변수의 비트를 무시합니다. 하위 바이트에는 항목의 상태를 나타내는 비트 플래그 집합이 포함됩니다. 이 바이트는 다음 값의 조합일 수 있습니다.
값 | 의미 |
---|---|
|
항목은 잘라내기 및 붙여넣기 작업으로 표시됩니다. |
|
항목이 끌어서 놓기 대상으로 강조 표시됩니다. |
|
항목에 포커스가 있으므로 표준 포커스 사각형으로 둘러싸여 있습니다. 둘 이상의 항목을 선택할 수 있지만 하나의 항목만 포커스를 가질 수 있습니다. |
|
항목이 선택되어 있습니다. 선택한 항목의 모양은 포커스가 있는지 여부와 선택에 사용되는 시스템 색에 따라 달라집니다. 목록 보기 컨트롤에 포커스가 있거나 LVS_SHOWSELALWAYS 스타일이 사용되는 경우에만 항목이 선택된 것으로 표시됩니다. |
mask
형식: UINT
설정하거나 지우려는 데이터 매개 변수의 비트입니다. ListView_SetItemState 사용하여 비트를 설정하고 지울 수 있습니다. 항목의 오버레이 이미지 인덱스를 설정하려면 LVIS_OVERLAYMASK 비트를 설정합니다. 항목의 상태 이미지 인덱스를 설정하려면 LVIS_STATEIMAGEMASK 비트를 설정합니다.
반환 값
없음
발언
항목의 상태 값에는 항목의 상태를 나타내는 비트 플래그 집합이 포함됩니다. 상태 값에는 항목의 상태 이미지 및 오버레이 이미지를 나타내는 이미지 목록 인덱스가 포함될 수도 있습니다.
마스크 매개 변수는 수정하려는 상태 비트를 지정하고 데이터 매개 변수는 해당 비트에 대한 새 값을 지정합니다. 항목의 내부 상태에서 비트를 설정하려면 마스크 및 데이터 매개 변수 모두에서 설정합니다. 항목의 내부 상태에서 비트를 지우려면 마스크 매개 변수에 설정하고 데이터 매개 변수에서 지웁다. 항목의 내부 상태에서 약간 변경되지 않은 상태로 두려면 마스크 매개 변수에서 지웁니다.
데이터 매개 변수의 비트 8~11은 컨트롤의 이미지 목록에서 오버레이 이미지의 1부터 시작하는 인덱스를 지정합니다. 전체 크기 아이콘 이미지 목록과 작은 아이콘 이미지 목록 모두 오버레이 이미지를 가질 수 있습니다. 오버레이 이미지는 항목의 아이콘 이미지 위에 중첩됩니다. 이러한 비트가 0이면 항목에 오버레이 이미지가 없습니다. 이러한 비트를 격리하려면 LVIS_OVERLAYMASK 마스크를 사용합니다. 오버레이 인덱스를 지정하려면 INDEXTOOVERLAYMASK 매크로를 사용합니다.
데이터 매개 변수의 비트 12~15는 컨트롤의 상태 이미지 목록에 있는 이미지의 1부터 시작하는 인덱스를 지정합니다. 상태 이미지는 애플리케이션 정의 상태를 나타내기 위해 항목의 아이콘 옆에 표시됩니다. 이러한 비트가 0이면 항목에 상태 이미지가 없습니다. 이러한 비트를 격리하려면 LVIS_STATEIMAGEMASK 마스크를 사용합니다. 상태 이미지 인덱스를 지정하려면 INDEXTOSTATEIMAGEMASK 매크로를 사용합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | commctrl.h |