ListView_SetItemState 매크로(commctrl.h)

목록 뷰 컨트롤에서 항목의 상태를 변경합니다. 이 매크로를 사용하거나 LVM_SETITEMSTATE 메시지를 명시적으로 보낼 수 있습니다.

구문

void ListView_SetItemState(
   hwndLV,
   i,
   data,
   mask
);

매개 변수

hwndLV

형식: HWND

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

i

형식: int

목록 뷰 항목의 인덱스입니다. 이 매개 변수가 -1이면 상태 변경이 모든 항목에 적용됩니다.

data

형식: UINT

항목의 새 상태 비트입니다. mask 매개 변수는 상태 매개 변수의 유효한 비트를 나타냅니다. 매크로는 해당 비트가 mask 매개 변수에 설정되지 않은 경우 상태 매개 변수의 비트를 무시합니다. 하위 바이트에는 항목의 상태를 나타내는 비트 플래그 집합이 포함되어 있습니다. 이 바이트는 다음 값의 조합일 수 있습니다.

의미
LVIS_CUT
항목이 잘라내기 및 붙여넣기 작업으로 표시됩니다.
LVIS_DROPHILITED
항목이 끌어서 놓기 대상으로 강조 표시됩니다.
LVIS_FOCUSED
항목에 포커스가 있으므로 표준 포커스 사각형으로 둘러싸여 있습니다. 둘 이상의 항목을 선택할 수 있지만 하나의 항목만 포커스를 가질 수 있습니다.
LVIS_SELECTED
항목이 선택되어 있습니다. 선택한 항목의 모양은 포커스가 있는지 여부와 선택에 사용된 시스템 색에 따라 달라집니다. 목록 보기 컨트롤에 포커스가 있거나 LVS_SHOWSELALWAYS 스타일을 사용하는 경우에만 항목이 선택된 것으로 표시됩니다.

mask

형식: UINT

설정하거나 지울 상태 매개 변수의 비트입니다. ListView_SetItemState 사용하여 비트를 설정하고 지울 수 있습니다. 항목의 오버레이 이미지 인덱스를 설정하려면 LVIS_OVERLAYMASK 비트를 설정합니다. 항목의 상태 이미지 인덱스를 설정하려면 LVIS_STATEIMAGEMASK 비트를 설정합니다.

반환 값

없음

설명

항목의 상태 값에는 항목의 상태를 나타내는 일련의 비트 플래그가 포함됩니다. 상태 값에는 항목의 상태 이미지와 오버레이 이미지를 나타내는 이미지 목록 인덱스도 포함될 수 있습니다.

mask 매개 변수는 수정할 상태 비트를 지정하고 상태 매개 변수는 해당 비트에 대한 새 값을 지정합니다. 항목의 내부 상태에서 비트를 설정하려면 마스크상태 매개 변수 모두에서 설정합니다. 항목의 내부 상태에서 비트를 지우려면 마스크 매개 변수에 설정하고 상태 매개 변수에서 지웁습니다. 항목의 내부 상태에서 약간 변경되지 않은 상태로 두려면 마스크 매개 변수에서 지웁니다.

상태 매개 변수의 비트 8~11은 컨트롤의 이미지 목록에 오버레이 이미지의 1부터 시작하는 인덱스를 지정합니다. 전체 크기 아이콘 이미지 목록과 작은 아이콘 이미지 목록 모두 오버레이 이미지를 가질 수 있습니다. 오버레이 이미지는 항목의 아이콘 이미지 위에 중첩됩니다. 이러한 비트가 0이면 항목에 오버레이 이미지가 없습니다. 이러한 비트를 격리하려면 LVIS_OVERLAYMASK 마스크를 사용합니다. 오버레이 인덱스를 지정하려면 INDEXTOOVERLAYMASK 매크로를 사용합니다.

상태 매개 변수의 비트 12~15는 컨트롤의 상태 이미지 목록에 있는 이미지의 1부터 시작하는 인덱스를 지정합니다. 상태 이미지는 애플리케이션 정의 상태를 나타내기 위해 항목의 아이콘 옆에 표시됩니다. 이러한 비트가 0이면 항목에 상태 이미지가 없습니다. 이러한 비트를 격리하려면 LVIS_STATEIMAGEMASK 마스크를 사용합니다. 상태 이미지 인덱스를 지정하려면 INDEXTOSTATEIMAGEMASK 매크로를 사용합니다.

요구 사항

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

추가 정보

ListView_GetItemState