다음을 통해 공유


CListCtrl 수업

각각 이미지 목록의 아이콘과 레이블로 구성되는 항목 컬렉션을 표시하는 "목록 뷰 컨트롤"의 기능을 캡슐화합니다.

구문

class CListCtrl : public CWnd

멤버

공용 생성자

속성 설명
CListCtrl::CListCtrl CListCtrl 개체를 생성합니다.

공용 메서드

이름 설명
CListCtrl::ApproximateViewRect 목록 보기 컨트롤의 항목을 표시하는 데 필요한 너비와 높이를 결정합니다.
CListCtrl::Arrange 눈금에 항목을 맞춥니다.
CListCtrl::CancelEditLabel 항목 텍스트 편집 작업을 취소합니다.
CListCtrl::Create 목록 컨트롤을 만들어 개체에 CListCtrl 연결합니다.
CListCtrl::CreateDragImage 지정된 항목에 대한 끌기 이미지 목록을 만듭니다.
CListCtrl::CreateEx 지정된 Windows 확장 스타일을 사용하여 목록 컨트롤을 만들고 개체에 CListCtrl 연결합니다.
CListCtrl::DeleteAllItems 컨트롤에서 모든 항목을 삭제합니다.
CListCtrl::DeleteColumn 목록 보기 컨트롤에서 열을 삭제합니다.
CListCtrl::DeleteItem 컨트롤에서 항목을 삭제합니다.
CListCtrl::DrawItem 소유자 그리기 컨트롤의 시각적 측면이 변경되면 호출됩니다.
CListCtrl::EditLabel 항목 텍스트의 현재 위치 편집을 시작합니다.
CListCtrl::EnableGroupView 목록 보기 컨트롤의 항목이 그룹으로 표시되는지 여부를 사용하거나 사용하지 않도록 설정합니다.
CListCtrl::EnsureVisible 항목이 표시되는지 확인합니다.
CListCtrl::FindItem 지정된 특성이 있는 목록 보기 항목을 검색합니다.
CListCtrl::GetBkColor 목록 보기 컨트롤의 배경색을 검색합니다.
CListCtrl::GetBkImage 목록 보기 컨트롤의 현재 배경 이미지를 검색합니다.
CListCtrl::GetCallbackMask 목록 보기 컨트롤에 대한 콜백 마스크를 검색합니다.
CListCtrl::GetCheck 항목과 연결된 상태 이미지의 현재 표시 상태를 검색합니다.
CListCtrl::GetColumn 컨트롤 열의 특성을 검색합니다.
CListCtrl::GetColumnOrderArray 목록 보기 컨트롤의 열 순서(왼쪽에서 오른쪽)를 검색합니다.
CListCtrl::GetColumnWidth 보고서 보기 또는 목록 보기에서 열의 너비를 검색합니다.
CListCtrl::GetCountPerPage 목록 보기 컨트롤에 세로로 맞출 수 있는 항목 수를 계산합니다.
CListCtrl::GetEditControl 항목의 텍스트를 편집하는 데 사용되는 편집 컨트롤의 핸들을 검색합니다.
CListCtrl::GetEmptyText 현재 목록 보기 컨트롤이 비어 있으면 표시할 문자열을 검색합니다.
CListCtrl::GetExtendedStyle 목록 보기 컨트롤의 현재 확장 스타일을 검색합니다.
CListCtrl::GetFirstSelectedItemPosition 목록 보기 컨트롤에서 선택한 첫 번째 목록 보기 항목의 위치를 검색합니다.
CListCtrl::GetFocusedGroup 현재 목록 보기 컨트롤에서 키보드 포커스가 있는 그룹을 검색합니다.
CListCtrl::GetGroupCount 현재 목록 보기 컨트롤의 그룹 수를 검색합니다.
CListCtrl::GetGroupInfo 목록 보기 컨트롤의 지정된 그룹에 대한 정보를 가져옵니다.
CListCtrl::GetGroupInfoByIndex 현재 목록 보기 컨트롤에서 지정된 그룹에 대한 정보를 검색합니다.
CListCtrl::GetGroupMetrics 그룹의 메트릭을 검색합니다.
CListCtrl::GetGroupRect 현재 목록 보기 컨트롤에서 지정된 그룹에 대한 경계 사각형을 검색합니다.
CListCtrl::GetGroupState 현재 목록 보기 컨트롤에서 지정된 그룹의 상태를 검색합니다.
CListCtrl::GetHeaderCtrl 목록 보기 컨트롤의 헤더 컨트롤을 검색합니다.
CListCtrl::GetHotCursor 목록 보기 컨트롤에 대해 핫 트래킹을 사용할 때 사용되는 커서를 검색합니다.
CListCtrl::GetHotItem 현재 커서 아래에 있는 목록 보기 항목을 검색합니다.
CListCtrl::GetHoverTime 목록 보기 컨트롤의 현재 가리키기 시간을 검색합니다.
CListCtrl::GetImageList 그리기 목록 보기 항목에 사용되는 이미지 목록의 핸들을 검색합니다.
CListCtrl::GetInsertMark 삽입 표시의 현재 위치를 검색합니다.
CListCtrl::GetInsertMarkColor 삽입 표시의 현재 색을 검색합니다.
CListCtrl::GetInsertMarkRect 삽입 지점을 경계로 하는 사각형을 검색합니다.
CListCtrl::GetItem 목록 보기 항목의 특성을 검색합니다.
CListCtrl::GetItemCount 목록 보기 컨트롤의 항목 수를 검색합니다.
CListCtrl::GetItemData 항목과 연결된 애플리케이션별 값을 검색합니다.
CListCtrl::GetItemIndexRect 현재 목록 보기 컨트롤에서 하위 항목의 전체 또는 일부에 대한 경계 사각형을 검색합니다.
CListCtrl::GetItemPosition 목록 보기 항목의 위치를 검색합니다.
CListCtrl::GetItemRect 항목의 경계 사각형을 검색합니다.
CListCtrl::GetItemSpacing 현재 목록 보기 컨트롤의 항목 사이의 간격을 계산합니다.
CListCtrl::GetItemState 목록 보기 항목의 상태를 검색합니다.
CListCtrl::GetItemText 목록 보기 항목 또는 하위 항목의 텍스트를 검색합니다.
CListCtrl::GetNextItem 지정된 속성과 지정된 항목에 대한 지정된 관계가 있는 목록 보기 항목을 검색합니다.
CListCtrl::GetNextItemIndex 지정된 속성 집합이 있는 현재 목록 보기 컨트롤에서 항목의 인덱스를 검색합니다.
CListCtrl::GetNextSelectedItem 목록 보기 항목 위치의 인덱스와 반복을 위해 선택한 다음 목록 보기 항목의 위치를 검색합니다.
CListCtrl::GetNumberOfWorkAreas 목록 보기 컨트롤의 현재 작업 영역 수를 검색합니다.
CListCtrl::GetOrigin 목록 보기 컨트롤의 현재 뷰 원본을 검색합니다.
CListCtrl::GetOutlineColor 목록 보기 컨트롤의 테두리 색을 검색합니다.
CListCtrl::GetSelectedColumn 목록 컨트롤에서 현재 선택한 열의 인덱스를 검색합니다.
CListCtrl::GetSelectedCount 목록 보기 컨트롤에서 선택한 항목의 수를 검색합니다.
CListCtrl::GetSelectionMark 목록 보기 컨트롤의 선택 표시를 검색합니다.
CListCtrl::GetStringWidth 지정된 문자열을 모두 표시하는 데 필요한 최소 열 너비를 결정합니다.
CListCtrl::GetSubItemRect 목록 보기 컨트롤에서 항목의 경계 사각형을 검색합니다.
CListCtrl::GetTextBkColor 목록 보기 컨트롤의 텍스트 배경색을 검색합니다.
CListCtrl::GetTextColor 목록 보기 컨트롤의 텍스트 색을 검색합니다.
CListCtrl::GetTileInfo 목록 보기 컨트롤에서 타일에 대한 정보를 검색합니다.
CListCtrl::GetTileViewInfo 타일 보기에서 목록 보기 컨트롤에 대한 정보를 검색합니다.
CListCtrl::GetToolTips 목록 보기 컨트롤이 도구 설명을 표시하는 데 사용하는 도구 설명 컨트롤을 검색합니다.
CListCtrl::GetTopIndex 맨 위에 표시되는 항목의 인덱스를 검색합니다.
CListCtrl::GetView 목록 보기 컨트롤의 뷰를 가져옵니다.
CListCtrl::GetViewRect 목록 보기 컨트롤에 있는 모든 항목의 경계 사각형을 검색합니다.
CListCtrl::GetWorkAreas 목록 보기 컨트롤의 현재 작업 영역을 검색합니다.
CListCtrl::HasGroup 목록 보기 컨트롤에 지정된 그룹이 있는지 여부를 확인합니다.
CListCtrl::HitTest 지정된 위치에 있는 목록 보기 항목을 결정합니다.
CListCtrl::InsertColumn 목록 보기 컨트롤에 새 열을 삽입합니다.
CListCtrl::InsertGroup 목록 보기 컨트롤에 그룹을 삽입합니다.
CListCtrl::InsertGroupSorted 지정된 그룹을 정렬된 그룹 목록에 삽입합니다.
CListCtrl::InsertItem 목록 보기 컨트롤에 새 항목을 삽입합니다.
CListCtrl::InsertMarkHitTest 지정된 지점에 가장 가까운 삽입 지점을 검색합니다.
CListCtrl::IsGroupViewEnabled 목록 보기 컨트롤에 그룹 보기를 사용할 수 있는지 여부를 결정합니다.
CListCtrl::IsItemVisible 현재 목록 보기 컨트롤의 지정된 항목이 표시되는지 여부를 나타냅니다.
CListCtrl::MapIDToIndex 현재 목록 보기 컨트롤에 있는 항목의 고유 ID를 인덱스로 매핑합니다.
CListCtrl::MapIndexToID 현재 목록 보기 컨트롤에 있는 항목의 인덱스가 고유 ID에 매핑됩니다.
CListCtrl::MoveGroup 지정된 그룹을 이동합니다.
CListCtrl::MoveItemToGroup 지정된 그룹을 목록 보기 컨트롤의 지정된 0부터 시작하는 인덱스로 이동합니다.
CListCtrl::RedrawItems 목록 보기 컨트롤이 항목 범위를 다시 그리도록 합니다.
CListCtrl::RemoveAllGroups 목록 보기 컨트롤에서 모든 그룹을 제거합니다.
CListCtrl::RemoveGroup 목록 보기 컨트롤에서 지정된 그룹을 제거합니다.
CListCtrl::Scroll 목록 보기 컨트롤의 내용을 스크롤합니다.
CListCtrl::SetBkColor 목록 보기 컨트롤의 배경색을 설정합니다.
CListCtrl::SetBkImage 목록 보기 컨트롤의 현재 배경 이미지를 설정합니다.
CListCtrl::SetCallbackMask 목록 보기 컨트롤의 콜백 마스크를 설정합니다.
CListCtrl::SetCheck 항목과 연결된 상태 이미지의 현재 표시 상태를 설정합니다.
CListCtrl::SetColumn 목록 보기 열의 특성을 설정합니다.
CListCtrl::SetColumnOrderArray 목록 보기 컨트롤의 열 순서(왼쪽에서 오른쪽)를 설정합니다.
CListCtrl::SetColumnWidth 보고서 보기 또는 목록 보기에서 열의 너비를 변경합니다.
CListCtrl::SetExtendedStyle 목록 보기 컨트롤의 현재 확장 스타일을 설정합니다.
CListCtrl::SetGroupInfo 목록 보기 컨트롤의 지정된 그룹에 대한 정보를 설정합니다.
CListCtrl::SetGroupMetrics 목록 보기 컨트롤의 그룹 메트릭을 설정합니다.
CListCtrl::SetHotCursor 목록 보기 컨트롤에 대해 핫 트래킹을 사용할 때 사용되는 커서를 설정합니다.
CListCtrl::SetHotItem 목록 보기 컨트롤의 현재 핫 항목을 설정합니다.
CListCtrl::SetHoverTime 목록 보기 컨트롤의 현재 가리키기 시간을 설정합니다.
CListCtrl::SetIconSpacing 목록 보기 컨트롤에서 아이콘 사이의 간격을 설정합니다.
CListCtrl::SetImageList 목록 보기 컨트롤에 이미지 목록을 할당합니다.
CListCtrl::SetInfoTip 도구 설명 텍스트를 설정합니다.
CListCtrl::SetInsertMark 삽입 지점을 정의된 위치로 설정합니다.
CListCtrl::SetInsertMarkColor 삽입 지점의 색을 설정합니다.
CListCtrl::SetItem 목록 보기 항목의 특성 중 일부 또는 전체를 설정합니다.
CListCtrl::SetItemCount 많은 수의 항목을 추가하기 위한 목록 보기 컨트롤을 준비합니다.
CListCtrl::SetItemCountEx 가상 목록 보기 컨트롤의 항목 수를 설정합니다.
CListCtrl::SetItemData 항목의 애플리케이션별 값을 설정합니다.
CListCtrl::SetItemIndexState 현재 목록 보기 컨트롤에 있는 항목의 상태를 설정합니다.
CListCtrl::SetItemPosition 목록 보기 컨트롤에서 항목을 지정된 위치로 이동합니다.
CListCtrl::SetItemState 목록 보기 컨트롤에서 항목의 상태를 변경합니다.
CListCtrl::SetItemText 목록 보기 항목 또는 하위 항목의 텍스트를 변경합니다.
CListCtrl::SetOutlineColor 목록 보기 컨트롤의 테두리 색을 설정합니다.
CListCtrl::SetSelectedColumn 목록 보기 컨트롤의 선택한 열을 설정합니다.
CListCtrl::SetSelectionMark 목록 보기 컨트롤의 선택 표시를 설정합니다.
CListCtrl::SetTextBkColor 목록 보기 컨트롤에서 텍스트의 배경색을 설정합니다.
CListCtrl::SetTextColor 목록 보기 컨트롤의 텍스트 색을 설정합니다.
CListCtrl::SetTileInfo 목록 보기 컨트롤의 타일에 대한 정보를 설정합니다.
CListCtrl::SetTileViewInfo 목록 보기 컨트롤이 타일 보기에서 사용하는 정보를 설정합니다.
CListCtrl::SetToolTips 목록 보기 컨트롤이 도구 설명을 표시하는 데 사용할 도구 설명 컨트롤을 설정합니다.
CListCtrl::SetView 목록 보기 컨트롤의 보기를 설정합니다.
CListCtrl::SetWorkAreas 목록 보기 컨트롤에 아이콘을 표시할 수 있는 영역을 설정합니다.
CListCtrl::SortGroups 사용자 정의 함수를 사용하여 목록 보기 컨트롤의 그룹을 정렬합니다.
CListCtrl::SortItems 애플리케이션 정의 비교 함수를 사용하여 목록 보기 항목을 정렬합니다.
CListCtrl::SortItemsEx 애플리케이션 정의 비교 함수를 사용하여 목록 보기 항목을 정렬합니다.
CListCtrl::SubItemHitTest 지정된 위치에 있는 목록 보기 항목(있는 경우)을 결정합니다.
CListCtrl::Update 컨트롤이 지정된 항목을 다시 칠하도록 합니다.

설명

아이콘 및 레이블 외에도 각 항목에는 아이콘 및 레이블 오른쪽의 열에 정보가 표시될 수 있습니다. 이 컨트롤(따라서 CListCtrl 클래스)은 Windows 95/98 및 Windows NT 버전 3.51 이상에서 실행되는 프로그램에서만 사용할 수 있습니다.

다음은 클래스에 대한 간략한 개요입니다 CListCtrl . 자세한 개념 토론은 사용 CListCtrl제어를 참조하세요.

목록 보기 컨트롤은 "보기"라는 네 가지 방법으로 콘텐츠를 표시할 수 있습니다.

  • 아이콘 뷰

    각 항목은 아래에 레이블이 있는 전체 크기 아이콘(32 x 32픽셀)으로 표시됩니다. 사용자는 목록 보기 창의 모든 위치로 항목을 끌 수 있습니다.

  • 작은 아이콘 뷰

    각 항목은 오른쪽에 레이블이 있는 작은 아이콘(16 x 16픽셀)으로 표시됩니다. 사용자는 목록 보기 창의 모든 위치로 항목을 끌 수 있습니다.

  • 목록 보기

    각 항목이 오른쪽에 레이블이 있는 작은 아이콘으로 나타납니다. 항목은 열로 정렬되며 목록 보기 창의 어떤 위치로도 끌 수 없습니다.

  • 보고서 뷰

    각 항목은 오른쪽 열에 정렬된 추가 정보와 함께 자체 줄에 나타납니다. 맨 왼쪽 열에는 작은 아이콘과 레이블이 포함되며, 후속 열에는 애플리케이션에서 지정한 하위 항목이 포함됩니다. 포함된 헤더 컨트롤(클래스 CHeaderCtrl)은 이러한 열을 구현합니다. 보고서 보기의 머리글 컨트롤 및 열에 대한 자세한 내용은 Using CListCtrl: Add Columns to the Control(보고서 뷰)을 참조하세요.

컨트롤의 현재 목록 보기 스타일에 따라 현재 보기가 결정됩니다. 이러한 스타일 및 사용 현황에 대한 자세한 내용은 UsingCListCtrl: Changing List Control Style을 참조하십시오.

확장 스타일

표준 목록 스타일 외에도 클래스 CListCtrl 는 확장된 스타일의 큰 집합을 지원하여 보강된 기능을 제공합니다. 이 기능의 몇 가지 예는 다음과 같습니다.

  • 마우스로 가리키기 선택

    사용하도록 설정하면 커서가 특정 기간 동안 항목에 남아 있을 때 항목을 자동으로 선택할 수 있습니다.

  • 가상 목록 보기

    사용하도록 설정하면 컨트롤에서 최대 DWORD 항목을 지원할 수 있습니다. 이는 애플리케이션에서 항목 데이터를 관리하는 오버헤드를 배치하여 가능합니다. 항목 선택 및 포커스 정보를 제외하고 모든 항목 정보는 애플리케이션에서 관리해야 합니다. 자세한 내용은 UsingCListCtrl: Virtual List 컨트롤을 참조하세요.

  • 원클릭 및 2클릭 활성화

    사용하도록 설정하면 핫 추적(항목 텍스트 자동 강조 표시) 및 강조 표시된 항목의 한 두 번 클릭 활성화를 허용합니다.

  • 열 순서 끌어서 놓기

    사용하도록 설정하면 목록 보기 컨트롤에서 열의 끌어서 놓기 순서를 다시 정렬할 수 있습니다. 보고서 보기에서만 사용할 수 있습니다.

이러한 새로운 확장 스타일을 사용하는 방법에 대한 자세한 내용은 UsingCListCtrl: Changing List Control Style을 참조하십시오.

항목 및 하위 항목

목록 보기 컨트롤의 각 항목은 아이콘(이미지 목록), 레이블, 현재 상태 및 애플리케이션 정의 값("항목 데이터"라고 함)으로 구성됩니다. 하나 이상의 하위 항목을 각 항목과 연결할 수도 있습니다. "하위 항목"은 보고서 보기에서 항목의 아이콘 및 레이블 오른쪽에 있는 열에 표시될 수 있는 문자열입니다. 목록 보기 컨트롤의 모든 항목에는 동일한 수의 하위 항목이 있어야 합니다.

클래스 CListCtrl 는 이러한 항목을 삽입, 삭제, 찾기 및 수정하기 위한 몇 가지 함수를 제공합니다. 자세한 내용은 컨트롤에 항목 추가, 목록 컨트롤에서 스크롤, 정렬, 정렬 및 찾기를 참조CListCtrl::FindItemCListCtrl::InsertItemCListCtrl::GetItem하세요.

기본적으로 목록 보기 컨트롤은 항목의 아이콘 및 텍스트 특성을 저장합니다. 그러나 이러한 항목 유형 외에도 클래스 CListCtrl 는 "콜백 항목"을 지원합니다. "콜백 항목"은 컨트롤이 아닌 애플리케이션이 텍스트, 아이콘 또는 둘 다를 저장하는 목록 보기 항목입니다. 콜백 마스크는 애플리케이션에서 제공하는 항목 특성(텍스트 및/또는 아이콘)을 지정하는 데 사용됩니다. 애플리케이션에서 콜백 항목을 사용하는 경우 요청 시 텍스트 및/또는 아이콘 특성을 제공할 수 있어야 합니다. 콜백 항목은 애플리케이션에서 이 정보 중 일부를 이미 유지 관리하는 경우에 유용합니다. 자세한 내용은 사용CListCtrl: 콜백 항목 및 콜백 마스크를 참조하세요.

이미지 목록

목록 보기 항목에 대한 아이콘, 헤더 항목 이미지 및 애플리케이션 정의 상태는 목록 보기 컨트롤을 만들고 할당하는 여러 이미지 목록(클래스 CImageList에 의해 구현됨)에 포함됩니다. 각 목록 보기 컨트롤에는 최대 4가지 유형의 이미지 목록이 있을 수 있습니다.

  • 큰 아이콘

    아이콘 보기에서 전체 크기 아이콘에 사용됩니다.

  • 작은 아이콘

    아이콘 보기에 사용되는 작은 버전의 아이콘에 대한 작은 아이콘, 목록 및 보고서 보기에 사용됩니다.

  • 애플리케이션 정의 상태

    응용 프로그램 정의 상태를 나타내기 위해 항목의 아이콘 옆에 표시되는 상태 이미지를 포함합니다.

  • 헤더 항목

    각 헤더 컨트롤 항목에 표시되는 작은 이미지의 경우 보고서 보기에 사용됩니다.

기본적으로 목록 보기 컨트롤은 제거될 때 할당된 이미지 목록을 삭제합니다. 그러나 개발자는 애플리케이션에 의해 결정된 대로 더 이상 사용되지 않을 때 각 이미지 목록을 삭제하여 이 동작을 사용자 지정할 수 있습니다. 자세한 내용은 사용CListCtrl: 목록 항목 및 이미지 목록을 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CListCtrl

요구 사항

머리글: afxcmn.h

CListCtrl::ApproximateViewRect

목록 보기 컨트롤의 항목을 표시하는 데 필요한 너비와 높이를 결정합니다.

CSize ApproximateViewRect(
    CSize sz = CSize(-1, -1),
    int iCount = -1) const;

매개 변수

sz
제안된 컨트롤 차원(픽셀)입니다. 차원이 지정되지 않은 경우 프레임워크는 컨트롤의 현재 너비 또는 높이 값을 사용합니다.

iCount
컨트롤에 표시할 항목 수입니다. -1을 전달하여 현재 컨트롤에 있는 총 항목 수를 사용합니다.

Return Value

CSize 항목을 표시하는 데 필요한 대략적인 너비와 높이를 픽셀 단위로 포함하는 개체입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_ApproximateViewRect의 동작을 구현합니다.

CListCtrl::Arrange

눈금에 맞춰지도록 아이콘 보기의 항목 위치를 변경합니다.

BOOL Arrange(UINT nCode);

매개 변수

nCode
항목의 맞춤 스타일을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • LVA_ALIGNLEFT 창의 왼쪽 가장자리를 따라 항목을 맞춥니다.
  • LVA_ALIGNTOP 창의 위쪽 가장자리를 따라 항목을 맞춥니다.
  • LVA_DEFAULT 목록 보기의 현재 맞춤 스타일(기본값)에 따라 항목을 맞춥니다.
  • LVA_SNAPTOGRID 모든 아이콘을 가장 가까운 눈금 위치에 스냅합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

매개 변수는 nCode 맞춤 스타일을 지정합니다.

예시

// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);

CListCtrl::CancelEditLabel

항목 텍스트 편집 작업을 취소합니다.

void CancelEditLabel();

설명

이 멤버 함수는 Windows SDK에 LVM_CANCELEDITLABEL 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::CListCtrl

CListCtrl 개체를 생성합니다.

CListCtrl();

CListCtrl::Create

목록 컨트롤을 만들어 개체에 CListCtrl 연결합니다.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwStyle
목록 컨트롤의 스타일을 지정합니다. 컨트롤에 목록 컨트롤 스타일의 조합을 적용합니다. 이러한 스타일의 전체 목록은 Windows SDK의 목록 보기 창 스타일을 참조하세요. 를 사용하여 SetExtendedStyle컨트롤에 특정한 확장 스타일을 설정합니다.

rect
목록 컨트롤의 크기와 위치를 지정합니다. 개체 또는 RECT 구조체 CRect 일 수 있습니다.

pParentWnd
목록 컨트롤의 부모 창(일반적으로 .)을 CDialog지정합니다. NULL이 아니어야 합니다.

nID
목록 컨트롤의 ID를 지정합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

두 단계로 구성 CListCtrl 합니다. 먼저 생성자를 호출한 다음 호출 Create합니다. 그러면 목록 보기 컨트롤이 만들어지고 개체에 CListCtrl 연결됩니다.

확장된 Windows 스타일을 목록 컨트롤 개체에 적용하려면 대신 호출 CreateEx 합니다 Create.

예시

m_myListCtrl.Create(
    WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
    CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);

CListCtrl::CreateEx

컨트롤(자식 창)을 만들어 개체와 연결 CListCtrl 합니다.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwExStyle
만들 컨트롤의 확장 스타일을 지정합니다. 확장된 Windows 스타일 목록은 Windows SDK의 dwExStyle 매개 변수를 CreateWindowEx 참조하세요.

dwStyle
목록 컨트롤의 스타일을 지정합니다. 컨트롤에 목록 컨트롤 스타일의 조합을 적용합니다. 이러한 스타일의 전체 목록은 Windows SDK의 목록 보기 창 스타일을 참조하세요.

rect
생성할 RECT 창의 크기와 위치를 설명하는 구조체에 대한 참조로, 클라이언트 좌표로 pParentWnd표시됩니다.

pParentWnd
컨트롤의 부모 창에 대한 포인터입니다.

nID
컨트롤의 자식 창 ID입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

Windows 확장 스타일 서문WS_EX_으로 지정된 확장 Windows 스타일을 적용하는 대신 Create 사용합니다CreateEx.

CreateEx 에서 지정한 확장된 Windows 스타일을 사용하여 컨트롤을 dwExStyle만듭니다. 컨트롤에 한정된 확장 스타일을 설정하려면 .를 호출합니다 SetExtendedStyle. 예를 들어 CreateEx WS_EX_CONTEXTHELP 같은 스타일을 설정하지만 LVS_EX_FULLROWSELECT 같은 스타일을 설정하는 데 사용합니다 SetExtendedStyle . 자세한 내용은 Windows SDK의 확장 목록 뷰 스타일 문서에 설명된 스타일을 참조하세요.

CListCtrl::CreateDragImage

로 지정된 nItem항목에 대한 끌기 이미지 목록을 만듭니다.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

매개 변수

*nItem*
끌기 이미지 목록을 만들 항목의 인덱스입니다.

lpPoint
POINT 보기 좌표에서 이미지의 왼쪽 위 모퉁이의 초기 위치를 받는 구조체의 주소입니다.

Return Value

성공하면 끌기 이미지 목록에 대한 포인터입니다. 그렇지 않으면 NULL.

설명

개체가 CImageList 영구적이므로 완료되면 삭제해야 합니다. 예시:

CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);

// do something

delete pImageList;

CListCtrl::DeleteAllItems

목록 보기 컨트롤에서 모든 항목을 삭제합니다.

BOOL DeleteAllItems();

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);

CListCtrl::DeleteColumn

목록 보기 컨트롤에서 열을 삭제합니다.

BOOL DeleteColumn(int nCol);

매개 변수

nCol
삭제할 열의 인덱스입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
    m_myListCtrl.DeleteColumn(0);
}

CListCtrl::DeleteItem

목록 보기 컨트롤에서 항목을 삭제합니다.

BOOL DeleteItem(int nItem);

매개 변수

nItem
삭제할 항목의 인덱스를 지정합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

int nCount = m_myListCtrl.GetItemCount();

// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
    m_myListCtrl.DeleteItem(0);
}

CListCtrl::DrawItem

소유자 그리기 목록 보기 컨트롤의 시각적 측면이 변경되면 프레임워크에서 호출됩니다.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

매개 변수

lpDrawItemStruct
필요한 그리기 형식에 DRAWITEMSTRUCT 대한 정보를 포함하는 구조체에 대한 긴 포인터입니다.

설명

구조체의 DRAWITEMSTRUCT 멤버는 itemAction 수행할 그리기 동작을 정의합니다.

기본적으로 이 멤버 함수는 아무 작업도 수행하지 않습니다. 소유자 그리 CListCtrl 기 개체에 대한 그리기를 구현하려면 이 멤버 함수를 재정의합니다.

애플리케이션은 이 멤버 함수가 종료되기 전에 제공 lpDrawItemStruct 된 표시 컨텍스트에 대해 선택한 모든 GDI(그래픽 디바이스 인터페이스) 개체를 복원해야 합니다.

CListCtrl::EditLabel

항목 텍스트의 현재 위치 편집을 시작합니다.

CEdit* EditLabel(int nItem);

매개 변수

nItem
편집할 목록 보기 항목의 인덱스입니다.

Return Value

성공하면 항목 텍스트를 편집하는 CEdit 데 사용되는 개체에 대한 포인터이고, 그렇지 않으면 NULL.

설명

창 스타일이 있는 LVS_EDITLABELS 목록 보기 컨트롤을 사용하면 사용자가 항목 레이블을 바로 편집할 수 있습니다. 사용자는 포커스가 있는 항목의 레이블을 클릭하여 편집을 시작합니다.

이 함수를 사용하여 지정된 목록 보기 항목의 텍스트를 바로 편집할 수 있습니다.

예시

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);

CListCtrl::EnableGroupView

목록 보기 컨트롤의 항목이 그룹으로 표시되는지 여부를 사용하거나 사용하지 않도록 설정합니다.

LRESULT EnableGroupView(BOOL fEnable);

매개 변수

fEnable
listview 컨트롤을 사용하여 표시된 항목을 그룹화할지 여부를 나타냅니다. TRUE 그룹화할 수 있도록 설정하려면 다음을 사용합니다. FALSE 을(를) 사용하지 않도록 설정합니다.

Return Value

다음 값 중 하나를 반환합니다.

  • 0 목록 보기 항목을 그룹으로 표시하는 기능은 이미 사용하거나 사용하지 않도록 설정되어 있습니다.
  • 1 컨트롤의 상태가 변경되었습니다.
  • -1 작업이 실패했습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_ENABLEGROUPVIEW 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::EnsureVisible

목록 보기 항목이 적어도 부분적으로 표시되는지 확인합니다.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

매개 변수

nItem
표시할 목록 보기 항목의 인덱스입니다.

bPartialOK
부분 표시 여부를 허용할지 여부를 지정합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

필요한 경우 목록 보기 컨트롤이 스크롤됩니다. bPartialOK 매개 변수가 0이 아닌 경우 항목이 부분적으로 표시되는 경우 스크롤이 발생하지 않습니다.

예시

// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
    m_myListCtrl.EnsureVisible(nCount-1, FALSE);

CListCtrl::FindItem

지정된 특성이 있는 목록 보기 항목을 검색합니다.

int FindItem(
    LVFINDINFO* pFindInfo,
    int nStart = -1) const;

매개 변수

pFindInfo
검색할 LVFINDINFO 항목에 대한 정보를 포함하는 구조체에 대한 포인터입니다.

nStart
검색을 시작할 항목의 인덱스이거나 처음부터 시작할 -1입니다. -1과 같지 않으면 nStart 검색에서 항목 nStart 이 제외됩니다.

Return Value

성공하면 항목의 인덱스이거나 그렇지 않으면 -1입니다.

설명

매개 변수는 pFindInfo 목록 보기 항목을 검색하는 데 사용되는 정보를 포함하는 구조를 가리킵니 LVFINDINFO 다.

예시

LVFINDINFO info;
int nIndex;

info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");

// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
    m_myListCtrl.DeleteItem(nIndex);
}

CListCtrl::GetBkColor

목록 보기 컨트롤의 배경색을 검색합니다.

COLORREF GetBkColor() const;

Return Value

RGB 색을 지정하는 데 사용되는 32비트 값입니다.

예시

CListCtrl::SetBkColor에 대한 예를 참조하세요.

CListCtrl::GetBkImage

목록 보기 컨트롤의 현재 배경 이미지를 검색합니다.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

매개 변수

plvbkImage
목록 보기의 LVBKIMAGE 현재 배경 이미지를 포함하는 구조체에 대한 포인터입니다.

Return Value

성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.

설명

이 메서드는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetBkImage의 동작을 구현합니다.

예시

LVBKIMAGE bki;

// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
    m_myListCtrl.SetBkImage(
        _T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
        TRUE);
}

CListCtrl::GetCallbackMask

목록 보기 컨트롤에 대한 콜백 마스크를 검색합니다.

UINT GetCallbackMask() const;

Return Value

목록 보기 컨트롤의 콜백 마스크입니다.

설명

"콜백 항목"은 컨트롤이 아닌 애플리케이션이 텍스트, 아이콘 또는 둘 다를 저장하는 목록 보기 항목입니다. 목록 보기 컨트롤은 이러한 특성을 저장할 수 있지만 애플리케이션에서 이 정보 중 일부를 이미 유지 관리하는 경우 콜백 항목을 사용할 수 있습니다. 콜백 마스크는 애플리케이션에서 유지 관리하는 항목 상태 비트를 지정하며 특정 항목이 아닌 전체 컨트롤에 적용됩니다. 콜백 마스크는 기본적으로 0이므로 컨트롤이 모든 항목 상태를 추적합니다. 애플리케이션에서 콜백 항목을 사용하거나 0이 아닌 콜백 마스크를 지정하는 경우 요청 시 목록 보기 항목 특성을 제공할 수 있어야 합니다.

예시

CListCtrl::SetCallbackMask에 대한 예를 참조하세요.

CListCtrl::GetCheck

항목과 연결된 상태 이미지의 현재 표시 상태를 검색합니다.

BOOL GetCheck(int nItem) const;

매개 변수

nItem
목록 컨트롤 항목의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

항목이 선택된 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetCheckState의 동작을 구현합니다.

예시

CListCtrl::SetCheck에 대한 예를 참조하세요.

CListCtrl::GetColumn

목록 보기 컨트롤 열의 특성을 검색합니다.

BOOL GetColumn(
    int nCol,
    LVCOLUMN* pColumn) const;

매개 변수

nCol
특성을 검색할 열의 인덱스입니다.

pColumn
열에 LVCOLUMN 대한 정보를 검색하고 받는 정보를 지정하는 구조체의 주소입니다. 멤버는 mask 검색할 열 특성을 지정합니다. 멤버가 mask LVCF_TEXT 값을 pszText 지정하는 경우 멤버는 항목 텍스트를 받는 버퍼의 주소를 포함해야 하며 멤버는 cchTextMax 버퍼의 크기를 지정해야 합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체에는 LVCOLUMN 보고서 뷰의 열에 대한 정보가 포함됩니다.

예시

LVCOLUMN col;

col.mask = LVCF_WIDTH;

// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
    col.cx *= 2;
    m_myListCtrl.SetColumn(0, &col);
}

CListCtrl::GetColumnOrderArray

목록 보기 컨트롤의 열 순서(왼쪽에서 오른쪽)를 검색합니다.

BOOL GetColumnOrderArray(
    LPINT piArray,
    int iCount = -1);

매개 변수

piArray
목록 뷰 컨트롤에 있는 열의 인덱스 값을 포함할 버퍼에 대한 포인터입니다. 버퍼는 목록 보기 컨트롤의 총 열 수를 포함할 수 있을 만큼 커야 합니다.

iCount
목록 보기 컨트롤의 열 수입니다. 이 매개 변수가 -1이면 프레임워크에서 열 수를 자동으로 검색합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetColumnOrderArray의 동작을 구현합니다.

예시

// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();

if (pHeaderCtrl != NULL)
{
    int  nColumnCount = pHeaderCtrl->GetItemCount();
    LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
    ASSERT(pnOrder != NULL);
    m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);

    int i, j, nTemp;
    for (i = 0, j = nColumnCount-1; i < j; i++, j--)
    {
        nTemp = pnOrder[i];
        pnOrder[i] = pnOrder[j];
        pnOrder[j] = nTemp;
    }

    m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
    free(pnOrder);
}

CListCtrl::GetColumnWidth

보고서 보기 또는 목록 보기에서 열의 너비를 검색합니다.

int GetColumnWidth(int nCol) const;

매개 변수

nCol
너비를 검색할 열의 인덱스를 지정합니다.

Return Value

에 지정된 nCol열의 너비(픽셀)입니다.

예시

// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);

CListCtrl::GetCountPerPage

목록 보기 또는 보고서 보기에서 목록 보기 컨트롤의 표시 영역에 세로로 맞출 수 있는 항목 수를 계산합니다.

int GetCountPerPage() const;

Return Value

목록 보기 또는 보고서 보기에 있을 때 목록 보기 컨트롤의 표시 영역에 세로로 맞출 수 있는 항목 수입니다.

예시

CListCtrl::GetTopIndex에 대한 예를 참조하세요.

CListCtrl::GetEditControl

목록 보기 항목의 텍스트를 편집하는 데 사용되는 편집 컨트롤의 핸들을 검색합니다.

CEdit* GetEditControl() const;

Return Value

성공하면 항목 텍스트를 편집하는 CEdit 데 사용되는 개체에 대한 포인터이고, 그렇지 않으면 NULL.

예시

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");

// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();

if (pEdit != NULL)
{
    pEdit->SetWindowText(lpszmyString);
}

CListCtrl::GetEmptyText

현재 목록 보기 컨트롤이 비어 있으면 표시할 문자열을 검색합니다.

CString GetEmptyText() const;

Return Value

CString 컨트롤이 비어 있는 경우 표시할 텍스트가 들어 있는 A입니다.

설명

이 메서드는 LVM_GETEMPTYTEXT Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::GetExtendedStyle

목록 보기 컨트롤의 현재 확장 스타일을 검색합니다.

DWORD GetExtendedStyle();

Return Value

현재 목록 보기 컨트롤에서 사용 중인 확장된 스타일의 조합입니다. 이러한 확장 스타일의 설명 목록은 Windows SDK의 확장 목록 보기 스타일 문서를 참조하세요.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetExtendedListViewStyle의 동작을 구현합니다.

예시

CListCtrl::SetExtendedStyle에 대한 예를 참조하세요.

CListCtrl::GetFirstSelectedItemPosition

목록 보기 컨트롤에서 선택한 첫 번째 항목의 위치를 가져옵니다.

POSITION GetFirstSelectedItemPosition() const;

Return Value

POSITION 항목이 선택되지 않은 경우 반복 또는 개체 포인터 검색 NULL 에 사용할 수 있는 값입니다.

예시

다음 코드 샘플에서는 이 함수를 사용하는 방법을 보여 줍니다.

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetFocusedGroup

현재 목록 보기 컨트롤에서 키보드 포커스가 있는 그룹을 검색합니다.

int GetFocusedGroup() const;

Return Value

해당 그룹이 있는 경우 상태가 있는 그룹의 인덱스이고, 그렇지 않으면 -1입니다 LVGS_FOCUSED.

설명

이 메서드는 LVM_GETFOCUSEDGROUP Windows SDK에 설명된 메시지를 보냅니다. 자세한 내용은 구조체의 state 멤버 값을 참조 LVGS_FOCUSED 하세요LVGROUP.

CListCtrl::GetGroupCount

현재 목록 보기 컨트롤의 그룹 수를 검색합니다.

int GetGroupCount()const;

Return Value

목록 보기 컨트롤의 그룹 수입니다.

설명

이 메서드는 LVM_GETGROUPCOUNT Windows SDK -->에 설명된 메시지를 보냅니다.

CListCtrl::GetGroupInfo

목록 보기 컨트롤의 지정된 그룹에 대한 정보를 가져옵니다.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

매개 변수

iGroupId
정보를 검색할 그룹의 식별자입니다.

pgrp
지정된 그룹에 대한 LVGROUP 포함 정보에 대한 포인터입니다.

Return Value

성공하면 그룹의 ID를 반환하고, 그렇지 않으면 -1을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETGROUPINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetGroupInfoByIndex

현재 목록 보기 컨트롤에서 지정된 그룹에 대한 정보를 검색합니다.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

매개 변수

iIndex
[in] 그룹의 인덱스(0부터 시작하는 인덱스)입니다.

pGroup
[out] iIndex 매개 변수로 지정된 그룹에 대한 정보를 수신하는 LVGROUP 구조체에 대한 포인터입니다 . 호출자는 LVGROUP 구조체의 멤버를 초기화합니다. 멤버를 cbSize 구조체의 크기로 설정하고 멤버의 mask 플래그를 설정하여 검색할 정보를 지정합니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 LVM_GETGROUPINFOBYINDEX Windows SDK -->에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 목록 보기 컨트롤에 액세스하는 데 사용되는 변수 m_listCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

다음 코드 예제에서는 메서드를 보여 줍니다 GetGroupInfoByIndex . 이 코드 예제의 이전 섹션에서는 보고서 보기에 "ClientID" 및 "Grade"라는 두 개의 열을 표시하는 목록 보기 컨트롤을 만들었습니다. 다음 코드 예제에서는 인덱스가 0인 그룹에 대한 정보를 검색합니다(이러한 그룹이 있는 경우).

// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;

// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign  = LVGA_HEADER_LEFT;

BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
    CString strHeader = CString( gInfo.pszHeader );
    CString str;
    str.Format(_T("Header: '%s'"), strHeader);
    AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
    AfxMessageBox(_T("No group information was retrieved."));
}

CListCtrl::GetGroupMetrics

그룹의 메트릭을 검색합니다.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

매개 변수

pGroupMetrics
그룹 메트릭 정보를 포함하는 포인터 LVGROUPMETRICS 입니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETGROUPMETRICS 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetGroupRect

현재 목록 보기 컨트롤에서 지정된 그룹에 대한 경계 사각형을 검색합니다.

BOOL GetGroupRect(
    int iGroupId,
    LPRECT lpRect,
    int iCoords = LVGGR_GROUP) const;

매개 변수

iGroupId
[in] 그룹을 지정합니다.

lpRect
[in, out] 구조체에 대한 포인터입니다 RECT . 이 메서드가 성공하면 구조체에서 지정한 그룹의 사각형 좌표를 받습니다 iGroupId.

iCoords
[in] 검색할 사각형 좌표를 지정합니다. 다음 값 중 하나를 사용합니다.

  • LVGGR_GROUP - (기본값) 확장된 전체 그룹의 좌표입니다.
  • LVGGR_HEADER - 머리글의 좌표(축소된 그룹)입니다.
  • LVGGR_SUBSETLINK - 하위 집합 링크(태그 하위 집합)의 좌표입니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

호출자는 매개 변수가 가리키는 구조를 할당 RECT 합니다 pRect .

이 메서드는 LVM_GETGROUPRECT Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 목록 보기 컨트롤에 액세스하는 데 사용되는 변수 m_listCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

다음 코드 예제에서는 메서드를 보여 줍니다 GetGroupRect . 이 코드 예제의 이전 섹션에서는 보고서 보기에 "ClientID" 및 "Grade"라는 두 개의 열을 표시하는 목록 보기 컨트롤을 만들었습니다. 다음 코드 예제에서는 해당 그룹이 있는 경우 인덱스가 0인 그룹 주위에 3D 사각형을 그립니다.

// GetGroupRect

// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
    m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
    AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}

CListCtrl::GetGroupState

현재 목록 보기 컨트롤에서 지정된 그룹의 상태를 검색합니다.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

매개 변수

iGroupId
[in] 그룹의 인덱스(0부터 시작하는 인덱스)입니다.

dwMask
[in] 지정된 그룹에 대해 검색할 상태 값을 지정하는 마스크입니다. 자세한 내용은 구조체 mask 의 멤버를 참조하세요 LVGROUP .

Return Value

지정된 그룹에 대해 요청된 상태이거나 그룹을 찾을 수 없는 경우 0입니다.

설명

반환 값은 매개 변수에 대한 dwMask 비트 AND 연산의 결과이며 현재 목록 보기 컨트롤을 LVGROUP 나타내는 구조체의 멤버 값 state 입니다.

이 메서드는 LVM_GETGROUPSTATE Windows SDK에 설명된 메시지를 보냅니다. 자세한 내용은 매크로를 참조하세요 ListView_GetGroupState .

CListCtrl::GetHeaderCtrl

목록 보기 컨트롤의 헤더 컨트롤을 검색합니다.

CHeaderCtrl* GetHeaderCtrl();

Return Value

목록 보기 컨트롤에서 사용하는 헤더 컨트롤에 대한 포인터입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetHeader의 동작을 구현합니다.

예시

CListCtrl::GetColumnOrderArray에 대한 예를 참조하세요.

CListCtrl::GetHotCursor

목록 보기 컨트롤에 대해 핫 트래킹을 사용할 때 사용되는 커서를 검색합니다.

HCURSOR GetHotCursor();

Return Value

목록 보기 컨트롤에서 사용 중인 현재 핫 커서 리소스에 대한 핸들입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetHotCursor의 동작을 구현합니다. 커서가 목록 보기 항목을 지나갈 때 마우스로 가리킨 선택 영역을 사용할 때만 표시되는 핫 커서가 나타납니다. LVS_EX_TRACKSELECT 확장 스타일을 설정하여 가리키기 선택을 사용할 수 있습니다.

예시

// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);

CListCtrl::GetHotItem

현재 커서 아래에 있는 목록 보기 항목을 검색합니다.

int GetHotItem();

Return Value

목록 보기 컨트롤의 현재 핫 항목 인덱스입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetHotItem의 동작을 구현합니다. 핫 추적(및 가리키기 선택)을 사용하도록 설정하면 핫 항목이 현재 선택된 항목으로 정의됩니다.

핫 트래킹을 사용하는 경우 사용자가 목록 보기 항목을 일시 중지하면 마우스 단추를 사용하지 않고 항목 레이블이 자동으로 강조 표시됩니다.

예시

// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
    m_myListCtrl.SetHotItem(0);

CListCtrl::GetHoverTime

목록 보기 컨트롤의 현재 가리키기 시간을 검색합니다.

DWORD GetHoverTime() const;

Return Value

마우스 커서가 선택되기 전에 항목 위로 마우스 커서를 가져가야 하는 지연 시간(밀리초)을 반환합니다. 반환 값이 -1이면 가리키기 시간이 기본 가리키기 시간입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetHoverTime의 동작을 구현합니다.

예시

// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
    m_myListCtrl.SetHoverTime(1000);

CListCtrl::GetImageList

그리기 목록 보기 항목에 사용되는 이미지 목록의 핸들을 검색합니다.

CImageList* GetImageList(int nImageList) const;

매개 변수

nImageList
검색할 이미지 목록을 지정하는 값입니다. 다음 값 중 하나일 수 있습니다.

  • LVSIL_NORMAL 큰 아이콘이 있는 이미지 목록입니다.
  • LVSIL_SMALL 작은 아이콘이 있는 이미지 목록입니다.
  • LVSIL_STATE 상태 이미지가 있는 이미지 목록입니다.

Return Value

그리기 목록 보기 항목에 사용되는 이미지 목록에 대한 포인터입니다.

예시

ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);

CListCtrl::GetInsertMark

삽입 표시의 현재 위치를 검색합니다.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

매개 변수

plvim
삽입 표시에 LVINSERTMARK 대한 정보를 포함하는 구조체에 대한 포인터입니다.

Return Value

성공하면 TRUE을(를) 반환하고, 그렇지 않으면 FALSE을(를) 반환합니다. FALSE 는 구조체의 멤버 크기가 cbSize 구조체의 LVINSERTMARK 실제 크기와 같지 않으면 반환됩니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETINSERTMARK 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetInsertMarkColor

삽입 표시의 현재 색을 검색합니다.

COLORREF GetInsertMarkColor() const;

Return Value

COLORREF 삽입 지점의 색이 들어 있는 구조를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETINSERTMARKCOLOR 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetInsertMarkRect

삽입 지점을 경계로 하는 사각형을 검색합니다.

int GetInsertMarkRect(LPRECT pRect) const;

매개 변수

pRect
RECT 삽입 지점을 경계로 하는 사각형의 좌표를 포함하는 구조체에 대한 포인터입니다.

Return Value

다음 값 중 하나를 반환합니다.

  • 0 삽입 지점을 찾을 수 없습니다.
  • 1 삽입 지점을 찾았습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETINSERTMARKRECT 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetItem

목록 보기 항목의 특성 중 일부 또는 전부를 검색합니다.

BOOL GetItem(LVITEM* pItem) const;

매개 변수

pItem
LVITEM 항목의 특성을 받는 구조체에 대한 포인터입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 구조체는 LVITEM 목록 보기 항목의 특성을 지정하거나 받습니다.

CListCtrl::GetItemCount

목록 보기 컨트롤의 항목 수를 검색합니다.

int GetItemCount() const;

Return Value

목록 보기 컨트롤의 항목 수입니다.

예시

CListCtrl::DeleteItem에 대한 예를 참조하세요.

CListCtrl::GetItemData

지정된 항목 nItem과 연결된 32비트 애플리케이션별 값(x64용으로 컴파일하는 경우 64비트)을 검색합니다.

DWORD_PTR GetItemData(int nItem) const;

매개 변수

nItem
데이터를 검색할 목록 항목의 인덱스입니다.

Return Value

지정된 항목과 연결된 32비트(x64용으로 컴파일하는 경우 64비트) 애플리케이션별 값입니다.

설명

이 값은 Windows SDK에 LVITEM 설명된 대로 구조체의 멤버입니다lParam.

예시

// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
    if (m_myListCtrl.GetItemData(i) == 0)
    {
        m_myListCtrl.SetItemData(i, (DWORD) -1);
    }
}

CListCtrl::GetItemIndexRect

현재 목록 보기 컨트롤에서 하위 항목의 전체 또는 일부에 대한 경계 사각형을 검색합니다.

BOOL GetItemIndexRect(
    PLVITEMINDEX pItemIndex,
    int iColumn,
    int rectType,
    LPRECT pRect) const;

매개 변수

pItemIndex
[in] 하위 항목의 LVITEMINDEX 부모 항목에 대한 구조체에 대한 포인터입니다. 호출자는 구조체의 LVITEMINDEX 멤버를 할당하고 설정하는 역할을 담당합니다. 이 매개 변수는 을(를) 사용할 NULL수 없습니다.

iColumn
[in] 컨트롤에 있는 열의 인덱스(0부터 시작하는 인덱스)입니다.

rectType
[in] 경계 사각형이 검색되는 목록 보기 하위 항목의 일부입니다. 다음 값 중 하나를 지정합니다.

  • LVIR_BOUNDS - 아이콘 및 레이블을 포함하여 전체 하위 항목의 경계 사각형을 반환합니다.
  • LVIR_ICON - 하위 항목의 아이콘 또는 작은 아이콘의 경계 사각형을 반환합니다.
  • LVIR_LABEL - 하위 항목 텍스트의 경계 사각형을 반환합니다.

pRect
[out] 하위 항목의 RECT 경계 사각형에 대한 정보를 수신하는 구조체에 대한 포인터입니다. 호출자는 구조를 할당하는 역할을 담당합니다 RECT . 이 매개 변수는 을(를) 사용할 NULL수 없습니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 LVM_GETITEMINDEXRECT Windows SDK에 설명된 메시지를 보냅니다. 자세한 내용은 매크로를 참조 ListView_GetItemIndexRect 하세요.

예시

첫 번째 코드 예제는 현재 목록 보기 컨트롤에 액세스하는 데 사용되는 변수 m_listCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

다음 코드 예제에서는 메서드를 보여 줍니다 GetGroupRect . 이 코드 예제를 입력하기 전에 보고서 보기에서 "ClientID" 및 "Grade"라는 두 개의 열을 표시하는 목록 보기 컨트롤을 만들었습니다. 다음 코드 예제에서는 두 열의 두 번째 하위 항목 주위에 3D 사각형을 그립니다.

// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
    &lvItemIndex, 0, LVIR_BOUNDS, &rect);

// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );

CListCtrl::GetItemPosition

목록 보기 항목의 위치를 검색합니다.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

매개 변수

nItem
위치를 검색할 항목의 인덱스입니다.

lpPoint
POINT 보기 좌표에서 항목의 왼쪽 위 모서리 위치를 받는 구조체의 주소입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

POINT pt;

// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();

for (i=0; i < nCount; i++)
{
    m_myListCtrl.GetItemPosition(i, &pt);
    pt.x += 100;
    m_myListCtrl.SetItemPosition(i, pt);
}

CListCtrl::GetItemRect

현재 보기에서 항목의 전체 또는 일부에 대한 경계 사각형을 검색합니다.

BOOL GetItemRect(
    int nItem,
    LPRECT lpRect,
    UINT nCode) const;

매개 변수

nItem
위치를 검색할 항목의 인덱스입니다.

lpRect
경계 사각형을 RECT 받는 구조체의 주소입니다.

nCode
경계 사각형을 검색할 목록 보기 항목의 일부입니다. 다음 값 중 하나일 수 있습니다.

  • LVIR_BOUNDS 아이콘 및 레이블을 포함하여 전체 항목의 경계 사각형을 반환합니다.
  • LVIR_ICON 아이콘 또는 작은 아이콘의 경계 사각형을 반환합니다.
  • LVIR_LABEL 항목 텍스트의 경계 사각형을 반환합니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;

    // Get the current mouse location and convert it to client
    // coordinates.
    CPoint pos( ::GetMessagePos() );
    ScreenToClient(&pos);

    // Get indexes of the first and last visible items in
    // the listview control.
    int index = m_myListCtrl.GetTopIndex();
    int last_visible_index = index + m_myListCtrl.GetCountPerPage();
    if (last_visible_index > m_myListCtrl.GetItemCount())
        last_visible_index = m_myListCtrl.GetItemCount();

    // Loop until number visible items has been reached.
    while (index <= last_visible_index)
    {
        // Get the bounding rectangle of an item. If the mouse
        // location is within the bounding rectangle of the item,
        // you know you have found the item that was being clicked.
        CRect r;
        m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
        if (r.PtInRect(pia->ptAction))
        {
            UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
            m_myListCtrl.SetItemState(index, flag, flag);
            break;
        }

        // Get the next item in listview control.
        index++;
    }
}

CListCtrl::GetItemSpacing

현재 목록 보기 컨트롤의 항목 사이의 간격을 계산합니다.

BOOL GetItemSpacing(
    BOOL fSmall,
    int* pnHorzSpacing,
    int* pnVertSpacing) const;

매개 변수

fSmall
[in] 항목 간격을 검색할 뷰입니다. 작은 아이콘 보기 또는 FALSE 아이콘 보기를 지정 TRUE 합니다.

pnHorzSpacing
[out] 항목 간의 가로 간격을 포함합니다.

pnVertSpacing
[out] 항목 간의 세로 간격을 포함합니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 LVM_GETITEMSPACING Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::GetItemState

목록 보기 항목의 상태를 검색합니다.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

매개 변수

nItem
상태를 검색할 항목의 인덱스입니다.

nMask
반환할 항목의 상태 플래그를 지정하는 마스크입니다.

Return Value

지정된 목록 보기 항목의 상태 플래그입니다.

설명

항목의 상태는 Windows SDK에 state 설명된 대로 구조체의 LVITEM 멤버에 의해 지정됩니다. 항목의 상태를 지정하거나 변경할 때 멤버는 stateMask 변경할 상태 비트를 지정합니다.

예시

CListCtrl::GetTopIndex에 대한 예를 참조하세요.

CListCtrl::GetItemText

목록 보기 항목 또는 하위 항목의 텍스트를 검색합니다.

int GetItemText(
    int nItem,
    int nSubItem,
    LPTSTR lpszText,
    int nLen) const;

CString GetItemText(
    int nItem,
    int nSubItem) const;

매개 변수

nItem
텍스트를 검색할 항목의 인덱스입니다.

nSubItem
텍스트를 검색할 하위 사이트를 지정합니다.

lpszText
항목 텍스트를 받을 문자열에 대한 포인터입니다.

nLen
로 가리키는 lpszText버퍼의 길이입니다.

Return Value

반환되는 int 버전은 검색된 문자열의 길이를 반환합니다.

항목을 반환하는 CString 버전은 항목 텍스트를 반환합니다.

설명

0이면 nSubItem 이 함수는 항목 레이블을 검색합니다. 0이 아닌 경우 nSubItem 하위 항목의 텍스트를 검색합니다. 하위 항목 인수에 대한 자세한 내용은 Windows SDK의 LVITEM 구조에 대한 설명을 참조하세요.

CListCtrl::GetNextItem

지정된 속성이 있고 지정된 항목과 지정된 관계를 갖는 목록 보기 항목을 검색합니다.

int GetNextItem(
    int nItem,
    int nFlags) const;

매개 변수

nItem
검색을 시작할 항목의 인덱스이거나, 지정된 플래그와 일치하는 첫 번째 항목을 찾기 위한 -1입니다. 지정된 항목 자체는 검색에서 제외됩니다.

nFlags
요청된 항목과 지정된 항목의 기하학적 관계 및 요청된 항목의 상태입니다. 기하학적 관계는 다음 값 중 하나일 수 있습니다.

  • LVNI_ABOVE 지정된 항목 위에 있는 항목을 검색합니다.
  • LVNI_ALL 인덱스(기본값)로 후속 항목을 검색합니다.
  • LVNI_BELOW 지정된 항목 아래에 있는 항목을 검색합니다.
  • LVNI_TOLEFT 지정된 항목의 왼쪽에 있는 항목을 검색합니다.
  • LVNI_TORIGHT 지정된 항목의 오른쪽에 있는 항목을 검색합니다.

상태는 0이거나 다음 값 중 하나 이상이 될 수 있습니다.

  • LVNI_DROPHILITED 항목에 상태 플래그 집합이 LVIS_DROPHILITED 있습니다.
  • LVNI_FOCUSED 항목에 상태 플래그 집합이 LVIS_FOCUSED 있습니다.
  • LVNI_SELECTED 항목에 상태 플래그 집합이 LVIS_SELECTED 있습니다.

항목에 지정된 상태 플래그가 모두 설정되지 않은 경우 검색은 다음 항목으로 계속됩니다.

Return Value

성공하면 다음 항목의 인덱스이거나, 그렇지 않으면 -1입니다.

CListCtrl::GetNextItemIndex

지정된 속성 집합이 있는 현재 목록 보기 컨트롤에서 항목의 인덱스를 검색합니다.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

매개 변수

pItemIndex
[in, out] 검색이 LVITEMINDEX 시작되는 항목을 설명하는 구조체에 대한 포인터이거나 nFlags 매개 변수의 플래그와 일치하는 첫 번째 항목을 찾기 위한 -1입니다. 이 메서드가 성공하면 구조는 LVITEMINDEX 검색에서 찾은 항목을 설명합니다.

nFlags
[in] 검색을 수행하는 방법을 지정하는 플래그의 비트 조합(OR)입니다. 검색은 대상 항목의 인덱스, 상태 또는 모양 또는 매개 변수에 지정된 pItemIndex 항목을 기준으로 대상 항목의 실제 위치에 따라 달라질 수 있습니다. 자세한 내용은 메시지의 flags 매개 변수를 참조하세요 LVM_GETNEXTITEMINDEX .

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

호출자는 매개 변수가 가리키는 구조체의 멤버를 LVITEMINDEX 할당하고 설정하는 작업을 담당합니다 pItemIndex .

이 메서드는 LVM_GETNEXTITEMINDEX Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::GetNextSelectedItem

식별된 목록 항목 pos의 인덱스, POSITION 값으로 설정합니다 pos .

int GetNextSelectedItem(POSITION& pos) const;

매개 변수

pos
이전 호출 GetNextSelectedItem 에서 반환한 POSITION 값에 대한 참조입니다 GetFirstSelectedItemPosition. 값은 이 호출에 의해 다음 위치로 업데이트됩니다.

Return Value

로 식별되는 pos목록 항목의 인덱스입니다.

설명

호출을 사용하여 초기 위치를 설정하는 경우 정방향 반복 루프에서 사용할 GetNextSelectedItem 수 있습니다 GetFirstSelectedItemPosition.

값이 POSITION 유효한지 확인해야 합니다. 잘못된 경우 Microsoft Foundation 클래스 라이브러리의 디버그 버전이 어설션됩니다.

예시

다음 코드 샘플에서는 이 함수를 사용하는 방법을 보여 줍니다.

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetNumberOfWorkAreas

목록 보기 컨트롤의 현재 작업 영역 수를 검색합니다.

UINT GetNumberOfWorkAreas() const;

Return Value

현재 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetNumberOfWorkAreas의 동작을 구현합니다.

예시

UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));

if (lpRects != NULL)
{
    // Dump all of the work area dimensions.
    m_myListCtrl.GetWorkAreas(uCount, lpRects);

    for (i=0; i < uCount; i++)
    {
        TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
            _T("bottom = %d\r\n"),
            i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
            lpRects[i].bottom);
    }

    free(lpRects);
}
else
{
    TRACE(_T("Couldn't allocate enough memory!"));
}

CListCtrl::GetOutlineColor

목록 보기 컨트롤의 테두리 색을 검색합니다.

COLORREF GetOutlineColor() const;

Return Value

COLORREF 윤곽선 색이 포함된 구조를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETOUTLINECOLOR 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetOrigin

목록 보기 컨트롤의 현재 뷰 원본을 검색합니다.

BOOL GetOrigin(LPPOINT lpPoint) const;

매개 변수

lpPoint
뷰 원본을 POINT 수신하는 구조체의 주소입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다. 그러나 컨트롤이 보고서 보기에 있는 경우 반환 값은 항상 0입니다.

CListCtrl::GetSelectedColumn

목록 컨트롤에서 현재 선택한 열의 인덱스를 검색합니다.

UINT GetSelectedColumn() const;

Return Value

선택한 열의 인덱스입니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETSELECTEDCOLUMN 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetSelectedCount

목록 보기 컨트롤에서 선택한 항목의 수를 검색합니다.

UINT GetSelectedCount() const;

Return Value

목록 보기 컨트롤에서 선택한 항목의 수입니다.

예시

UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int  nItem = -1;

// Update all of the selected items.
if (uSelectedCount > 0)
{
    for (i=0; i < uSelectedCount; i++)
    {
        nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
        ASSERT(nItem != -1);
        m_myListCtrl.Update(nItem);
    }
}

CListCtrl::GetSelectionMark

목록 보기 컨트롤의 선택 표시를 검색합니다.

int GetSelectionMark();

Return Value

0부터 시작하는 선택 표시이거나 선택 표시가 없는 경우 -1입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetSelectionMark의 동작을 구현합니다.

예시

// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
    m_myListCtrl.SetSelectionMark(0);

CListCtrl::GetStringWidth

지정된 문자열을 모두 표시하는 데 필요한 최소 열 너비를 결정합니다.

int GetStringWidth(LPCTSTR lpsz) const;

매개 변수

lpsz
너비를 확인할 null로 끝나는 문자열의 주소입니다.

Return Value

가 가리키는 문자열의 너비(픽셀)입니다 lpsz.

설명

반환된 너비는 컨트롤의 현재 글꼴과 열 여백을 고려하지만 작은 아이콘의 너비는 고려하지 않습니다.

예시

CString strColumn;
int nWidth;

// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
    strColumn.Format(_T("column %d"), i);
    nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
    m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}

CListCtrl::GetSubItemRect

목록 보기 컨트롤에서 항목의 경계 사각형을 검색합니다.

BOOL GetSubItemRect(
    int iItem,
    int iSubItem,
    int nArea,
    CRect& ref);

매개 변수

iItem
하위 항목의 부모 항목 인덱스입니다.

iSubItem
하위 항목의 1부터 시작하는 인덱스입니다.

nArea
검색할 경계 사각형의 부분(목록 보기 하위 항목)을 결정합니다. 다음 값 중 하나 이상에 비트 OR 연산자를 적용하여 경계 사각형의 부분(아이콘, 레이블 또는 둘 다)을 지정합니다.

  • LVIR_BOUNDS 아이콘 및 레이블을 포함하여 전체 항목의 경계 사각형을 반환합니다.
  • LVIR_ICON 아이콘 또는 작은 아이콘의 경계 사각형을 반환합니다.
  • LVIR_LABEL 아이콘 및 레이블을 포함하여 전체 항목의 경계 사각형을 반환합니다. 이 값은 .0과 LVIR_BOUNDS동일합니다.

ref
CRect 하위 항목 경계 사각형의 좌표를 포함하는 개체에 대한 참조입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetSubItemRect의 동작을 구현합니다.

CListCtrl::GetTextBkColor

목록 보기 컨트롤의 텍스트 배경색을 검색합니다.

COLORREF GetTextBkColor() const;

Return Value

RGB 색을 지정하는 데 사용되는 32비트 값입니다.

예시

CListCtrl::SetTextBkColor에 대한 예를 참조하세요.

CListCtrl::GetTextColor

목록 보기 컨트롤의 텍스트 색을 검색합니다.

COLORREF GetTextColor() const;

Return Value

RGB 색을 지정하는 데 사용되는 32비트 값입니다.

예시

CListCtrl::SetTextColor에 대한 예를 참조하세요.

CListCtrl::GetTileInfo

목록 보기 컨트롤에서 타일에 대한 정보를 검색합니다.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

매개 변수

plvti
타일 정보를 받는 구조체에 대한 포인터 LVTILEINFO 입니다.

Return Value

반환 값은 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETTILEINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetTileViewInfo

타일 보기에서 목록 보기 컨트롤에 대한 정보를 검색합니다.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

매개 변수

ptvi
검색된 정보를 받는 구조체에 대한 포인터 LVTILEVIEWINFO 입니다.

Return Value

반환 값은 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETTILEVIEWINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetToolTips

목록 보기 컨트롤이 도구 설명을 표시하는 데 사용하는 도구 설명 컨트롤을 검색합니다.

CToolTipCtrl* GetToolTips() const;

Return Value

목록 컨트롤에서 CToolTipCtrl 사용할 개체에 대한 포인터입니다. 멤버 함수가 Create 스타일을 LVS_NOTOOLTIPS사용하는 경우 도구 설명이 사용되지 않으며 NULL이 반환됩니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 LVM_GETTOOLTIPS의 동작을 구현합니다. MFC 구현은 GetToolTips 도구 설명 컨트롤에 대한 핸들이 아닌 목록 컨트롤에서 사용되는 개체를 반환 CToolTipCtrl 합니다.

예시

CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
    pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
        IDD_MYLISTCTRL);
}

CListCtrl::GetTopIndex

목록 보기 또는 보고서 보기에서 가장 많이 표시되는 항목의 인덱스를 검색합니다.

int GetTopIndex() const;

Return Value

가장 맨 위에 표시되는 항목의 인덱스입니다.

예시

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();

for (; n < nLast; n++)
{
    m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
    ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}

CListCtrl::GetView

목록 보기 컨트롤의 뷰를 가져옵니다.

DWORD GetView() const;

Return Value

목록 보기 컨트롤의 현재 보기입니다.

설명

이 멤버 함수는 Windows SDK에 LVM_GETVIEW 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::GetViewRect

목록 보기 컨트롤에 있는 모든 항목의 경계 사각형을 검색합니다.

BOOL GetViewRect(LPRECT lpRect) const;

매개 변수

lpRect
구조체의 주소입니다 RECT .

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

목록 보기는 아이콘 보기 또는 작은 아이콘 보기에 있어야 합니다.

CListCtrl::GetWorkAreas

목록 보기 컨트롤의 현재 작업 영역을 검색합니다.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

매개 변수

nWorkAreas
배열에 포함된 구조체의 RECT 수입니다 pRect .

pRect
목록 보기 컨트롤의 RECT 작업 영역을 수신하는 구조체(또는 CRect 개체) 배열에 대한 포인터입니다. 이러한 구조체의 값은 클라이언트 좌표에 있습니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_GetWorkAreas의 동작을 구현합니다.

예시

CListCtrl::GetNumberOfWorkAreas에 대한 예를 참조하세요.

CListCtrl::HasGroup

목록 보기 컨트롤에 지정된 그룹이 있는지 여부를 확인합니다.

BOOL HasGroup(int iGroupId) const;

매개 변수

iGroupId
요청되는 그룹의 식별자입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_HASGROUP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::HitTest

지정된 위치에 있는 목록 보기 항목(있는 경우)을 결정합니다.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

int HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

매개 변수

pHitTestInfo
적중 테스트의 LVHITTESTINFO 위치를 포함하고 적중 테스트의 결과에 대한 정보를 수신하는 구조체의 주소입니다.

pt
테스트할 점입니다.

pFlags
테스트 결과에 대한 정보를 받는 정수에 대한 포인터입니다. Windows SDK의 구조체 멤버 LVHITTESTINFO 에 대한 설명을 flags 참조하세요.

Return Value

(있는 경우) 또는 -1로 지정된 pHitTestInfo위치에 있는 항목의 인덱스입니다.

설명

구조체 멤버의 LVHT_ABOVE, LVHT_BELOWLVHT_TOLEFTLVHT_TORIGHT 값을 사용하여 목록 보기 컨트롤의 flag 내용을 스크롤할지 여부를 결정할 수 있습니다. 예를 들어 위치가 클라이언트 영역의 위쪽과 왼쪽에 있는 경우 이러한 플래그 중 두 가지를 결합할 수 있습니다.

구조 flag 체 멤버의 값을 테스트 LVHT_ONITEM 하여 지정된 위치가 목록 보기 항목 위에 있는지 여부를 확인할 수 있습니다. 이 값은 구조체 멤버의 LVHT_ONITEMICONLVHT_ONITEMLABEL값 및 LVHT_ONITEMSTATEICON 값에 대한 비트 OR 연산입니다flag.

예시

void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    CPoint point(pia->ptAction);

    // Select the item the user clicked on.
    UINT uFlags;
    int nItem = m_myListCtrl.HitTest(point, &uFlags);

    if (uFlags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
            LVIS_SELECTED, 0);
    }

    *pResult = 0;
}

CListCtrl::InsertColumn

목록 보기 컨트롤에 새 열을 삽입합니다.

int InsertColumn(
    int nCol,
    const LVCOLUMN* pColumn);

int InsertColumn(
    int nCol,
    LPCTSTR lpszColumnHeading,
    int nFormat = LVCFMT_LEFT,
    int nWidth = -1,
    int nSubItem = -1);

매개 변수

nCol
새 열의 인덱스입니다.

pColumn
새 열의 LVCOLUMN 특성을 포함하는 구조체의 주소입니다.

lpszColumnHeading
열의 제목을 포함하는 문자열의 주소입니다.

nFormat
열의 맞춤을 지정하는 정수입니다. 이 값은 다음 값 중 하나일 수 있습니다. LVCFMT_LEFTLVCFMT_RIGHTLVCFMT_CENTER

nWidth
열 너비(픽셀)입니다. 이 매개 변수가 -1이면 열 너비가 설정되지 않습니다.

nSubItem
열과 연결된 하위 항목의 인덱스입니다. 이 매개 변수가 -1이면 열과 연결된 하위 항목이 없습니다.

Return Value

성공하면 새 열의 인덱스이거나 그렇지 않으면 -1입니다.

설명

목록 보기 컨트롤의 맨 왼쪽 열은 왼쪽 맞춤이어야 합니다.

구조체에는 LVCOLUMN 보고서 뷰에 있는 열의 특성이 포함됩니다. 열에 대한 정보를 받는 데도 사용됩니다. 이 구조는 Windows SDK에 설명되어 있습니다.

CListCtrl::InsertGroup

목록 보기 컨트롤에 그룹을 삽입합니다.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

매개 변수

index
그룹을 삽입할 항목의 인덱스입니다.

pgrp
추가할 그룹을 포함하는 구조체에 대한 포인터 LVGROUP 입니다.

Return Value

그룹이 추가된 항목의 인덱스 또는 -1(작업에 실패한 경우)을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_INSERTGROUP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::InsertGroupSorted

지정된 그룹을 정렬된 그룹 목록에 삽입합니다.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

매개 변수

pStructInsert
삽입할 LVINSERTGROUPSORTED 그룹이 포함된 구조체에 대한 포인터입니다.

Return Value

반환 값은 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_INSERTGROUPSORTED 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::InsertItem

목록 보기 컨트롤에 항목을 삽입합니다.

int InsertItem(const LVITEM* pItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem,
    int nImage);

int InsertItem(
    UINT nMask,
    int nItem,
    LPCTSTR lpszItem,
    UINT nState,
    UINT nStateMask,
    int nImage,
    LPARAM lParam);

매개 변수

pItem
Windows SDK에 설명된 대로 항목의 특성을 지정하는 LVITEM 구조체에 대한 포인터입니다.

nItem
삽입할 항목의 인덱스입니다.

lpszItem
항목의 레이블이 포함된 문자열의 주소이거나 LPSTR_TEXTCALLBACK 항목이 콜백 항목인지 여부입니다. 콜백 항목에 대한 자세한 내용은 다음을 참조하세요 CListCtrl::GetCallbackMask.

nImage
항목 이미지의 인덱스이거나 I_IMAGECALLBACK 항목이 콜백 항목인지 여부입니다. 콜백 항목에 대한 자세한 내용은 다음을 참조하세요 CListCtrl::GetCallbackMask.

nMask
매개 변수는 nMask 매개 변수로 전달된 항목 특성이 유효한지 지정합니다. Windows SDK의 StructureLVITEM 설명된 마스크 값 중 하나 이상일 수 있습니다. 유효한 값을 비트 OR 연산자와 결합할 수 있습니다.

nState
항목의 상태, 상태 이미지 및 오버레이 이미지를 나타냅니다. 자세한 내용은 유효한 플래그 목록은 Windows SDK 항목 LVITEM 구조목록 보기 항목 상태를 참조하세요.

nStateMask
검색하거나 수정할 상태 멤버의 비트를 나타냅니다. 자세한 내용은 Windows SDK의 구조를 참조 LVITEM 하세요.

lParam
항목과 연결된 32비트 애플리케이션별 값(x64용으로 컴파일하는 경우 64비트)입니다. 이 매개 변수를 지정한 경우 특성을 LVIF_PARAM설정 nMask 해야 합니다.

Return Value

성공하면 새 항목의 인덱스이거나 그렇지 않으면 -1입니다.

설명

이 메서드를 LVM_INSERTITEM 호출하면 메시지가 제어 창으로 전송될 수 있습니다. 컨트롤에 연결된 메시지 처리기가 특정 조건(예: LVS_OWNERDRAW창 스타일 사용)에서 항목 텍스트를 설정하지 못할 수 있습니다. 이러한 조건에 대한 자세한 내용은 Windows SDK를 참조 LVM_INSERTITEM 하세요.

예시

CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
    strText.Format(TEXT("item %d"), i);

    // Insert the item, select every other item.
    m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
        (i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);

    // Initialize the text of the subitems.
    for (int j = 1; j < nColumnCount; j++)
    {
        strText.Format(TEXT("sub-item %d %d"), i, j);
        m_myListCtrl.SetItemText(i, j, strText);
    }
}

CListCtrl::InsertMarkHitTest

지정된 지점에 가장 가까운 삽입 지점을 검색합니다.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

매개 변수

pPoint
목록 컨트롤의 POINT 클라이언트 영역을 기준으로 적중 테스트 좌표를 포함하는 구조체에 대한 포인터입니다.

plvim
점 매개 변수로 LVINSERTMARK 정의된 좌표와 가장 가까운 삽입 지점을 지정하는 구조체에 대한 포인터입니다.

Return Value

지정한 점과 가장 가까운 삽입 지점입니다.

설명

이 멤버 함수는 Windows SDK에 LVM_INSERTMARKHITTEST 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::IsGroupViewEnabled

목록 보기 컨트롤에 그룹 보기를 사용할 수 있는지 여부를 결정합니다.

BOOL IsGroupViewEnabled() const;

Return Value

그룹 보기가 활성화되어 있는지 또는 FALSE 그렇지 않은지를 반환 TRUE 합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_ISGROUPVIEWENABLED 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::IsItemVisible

현재 목록 보기 컨트롤의 지정된 항목이 표시되는지 여부를 나타냅니다.

BOOL IsItemVisible(int index) const;

매개 변수

index
[in] 현재 목록 보기 컨트롤에 있는 항목의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

TRUE지정된 항목이 표시되면 FALSE

설명

이 메서드는 LVM_ISITEMVISIBLE Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::MapIDToIndex

현재 목록 보기 컨트롤에 있는 항목의 고유 ID를 인덱스로 매핑합니다.

UINT MapIDToIndex(UINT id) const;

매개 변수

id
[in] 항목의 고유 ID입니다.

Return Value

지정된 ID의 현재 인덱스입니다.

설명

목록 보기 컨트롤은 인덱스별로 항목을 내부적으로 추적합니다. 컨트롤의 수명 동안 인덱스가 변경되어 문제가 발생할 수 있습니다. 목록 보기 컨트롤은 항목을 만들 때 ID를 사용하여 항목에 태그를 지정할 수 있으며 이 ID를 사용하여 목록 보기 컨트롤의 수명 동안 고유성을 보장할 수 있습니다.

다중 스레드 환경에서 인덱스는 백그라운드 스레드가 아니라 목록 보기 컨트롤을 호스트하는 스레드에서만 보장됩니다.

이 메서드는 LVM_MAPIDTOINDEX Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::MapIndexToID

현재 목록 보기 컨트롤에 있는 항목의 인덱스가 고유 ID에 매핑됩니다.

UINT MapIndexToID(UINT index) const;

매개 변수

index
[in] 항목의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

지정된 항목의 고유 ID입니다.

설명

목록 보기 컨트롤은 인덱스별로 항목을 내부적으로 추적합니다. 컨트롤의 수명 동안 인덱스가 변경되어 문제가 발생할 수 있습니다. 목록 뷰 컨트롤은 항목을 만들 때 ID를 사용하여 항목에 태그를 지정할 수 있습니다. 이 ID를 사용하여 목록 보기 컨트롤의 수명 동안 특정 항목에 액세스할 수 있습니다.

다중 스레드 환경에서 인덱스는 백그라운드 스레드가 아니라 목록 보기 컨트롤을 호스트하는 스레드에서만 보장됩니다.

이 메서드는 LVM_MAPINDEXTOID Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 목록 보기 컨트롤에 액세스하는 데 사용되는 변수 m_listCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

다음 코드 예제에서는 메서드를 보여 줍니다 MapIndexToID . 이 코드 예제의 이전 섹션에서는 보고서 보기에 "ClientID" 및 "Grade"라는 두 개의 열을 표시하는 목록 보기 컨트롤을 만들었습니다. 다음 예제에서는 각 목록 보기 항목의 인덱스를 ID 번호에 매핑한 다음 각 ID 번호의 인덱스를 검색합니다. 마지막으로 이 예제에서는 원래 인덱스를 검색했는지 여부를 보고합니다.

// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
    // Map index to ID.
    nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);

    // Map ID to index.
    nIndex = m_listCtrl.MapIDToIndex(nId);

    if (nIndex != (UINT)(iIndexOriginal))
    {
        CString str;
        str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
            nIndex, (UINT)(iIndexOriginal));
        AfxMessageBox(str);
        return;
    }
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
    MB_ICONINFORMATION);

CListCtrl::MoveGroup

지정된 그룹을 목록 보기 컨트롤의 지정된 0부터 시작하는 인덱스로 이동합니다.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

매개 변수

iGroupId
이동할 그룹의 식별자입니다.

toIndex
그룹을 이동할 인덱스(0부터 시작)입니다.

Return Value

반환 값은 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_MOVEGROUP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::MoveItemToGroup

지정된 항목을 지정된 그룹으로 이동합니다.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

매개 변수

idItemFrom
[in] 이동할 항목의 인덱스입니다.

idGroupTo
[in] 항목을 이동할 그룹의 식별자입니다.

설명

참고 항목

이 메서드는 현재 구현되지 않습니다.

이 메서드는 Windows SDK에 LVM_MOVEITEMTOGROUP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::RedrawItems

목록 보기 컨트롤이 항목 범위를 다시 그리도록 합니다.

BOOL RedrawItems(
    int nFirst,
    int nLast);

매개 변수

nFirst
다시 칠할 첫 번째 항목의 인덱스입니다.

nLast
다시 칠할 마지막 항목의 인덱스입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

목록 보기 창에서 WM_PAINT 메시지를 받을 때까지 지정된 항목이 다시 그려지지 않습니다. 즉시 다시 그리려면 이 함수를 사용한 후 Windows UpdateWindow 함수를 호출합니다.

CListCtrl::RemoveAllGroups

목록 보기 컨트롤에서 모든 그룹을 제거합니다.

void RemoveAllGroups();

설명

이 멤버 함수는 Windows SDK에 LVM_REMOVEALLGROUPS 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::RemoveGroup

목록 보기 컨트롤에서 지정된 그룹을 제거합니다.

LRESULT RemoveGroup(int iGroupId);

매개 변수

iGroupId
제거할 그룹의 식별자입니다.

Return Value

성공하면 그룹의 인덱스를 반환하고 그렇지 않으면 -1을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_REMOVEGROUP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::Scroll

목록 보기 컨트롤의 내용을 스크롤합니다.

BOOL Scroll(CSize size);

매개 변수

size
CSize 가로 및 세로 스크롤 크기를 픽셀 단위로 지정하는 개체입니다. 크기의 멤버y 목록 보기 컨트롤의 선 높이(픽셀)로 나뉘며, 컨트롤은 결과 줄 수만큼 스크롤됩니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

CListCtrl::SetBkColor

목록 보기 컨트롤의 배경색을 설정합니다.

BOOL SetBkColor(COLORREF cr);

매개 변수

cr
설정할 배경색 또는 배경색이 CLR_NONE 없는 값입니다. 배경색이 있는 목록 보기 컨트롤은 배경색이 없는 컨트롤보다 훨씬 빠르게 다시 그리세요. 자세한 내용은 Windows SDK를 참조 COLORREF 하세요.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);

CListCtrl::SetBkImage

목록 보기 컨트롤의 배경 이미지를 설정합니다.

BOOL SetBkImage(LVBKIMAGE* plvbkImage);

BOOL SetBkImage(
    HBITMAP hBitmap,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

BOOL SetBkImage(
    LPTSTR pszUrl,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

매개 변수

plvbkImage
LVBKIMAGE 새 배경 이미지 정보를 포함하는 구조체의 주소입니다.

hBitmap
비트맵에 대한 핸들입니다.

pszUrl
NULL배경 이미지의 URL을 포함하는 -terminated 문자열입니다.

fTile
이미지가 목록 보기 컨트롤의 배경에서 바일로 표시될 경우 0이 아닙니다. 그렇지 않으면 0입니다.

xOffsetPercent
목록 보기 컨트롤의 원본에서 이미지 왼쪽 가장자리의 오프셋(픽셀)입니다.

yOffsetPercent
목록 보기 컨트롤의 원본에서 이미지 위쪽 가장자리의 오프셋(픽셀)입니다.

Return Value

성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.

설명

참고 항목

OLE COM 기능을 사용하므로 CListCtrl::SetBkImage OLE 라이브러리를 사용 SetBkImage하려면 먼저 OLE 라이브러리를 초기화해야 합니다. 애플리케이션이 초기화될 때 COM 라이브러리를 초기화하고 애플리케이션이 종료될 때 라이브러리를 초기화하지 않는 것이 가장 좋습니다. ActiveX 기술, OLE 자동화, OLE 연결/포함 또는 ODBC/DAO 작업을 사용하는 MFC 애플리케이션에서 자동으로 수행됩니다.

예시

CListCtrl::GetBkImage에 대한 예를 참조하세요.

CListCtrl::SetCallbackMask

목록 보기 컨트롤의 콜백 마스크를 설정합니다.

BOOL SetCallbackMask(UINT nMask);

매개 변수

nMask
콜백 마스크의 새 값입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
    (LVIS_SELECTED|LVIS_FOCUSED));

CListCtrl::SetCheck

목록 컨트롤 항목의 상태 이미지가 표시되는지 여부를 확인합니다.

BOOL SetCheck(
    int nItem,
    BOOL fCheck = TRUE);

매개 변수

nItem
목록 컨트롤 항목의 인덱스(0부터 시작하는 인덱스)입니다.

fCheck
항목의 상태 이미지를 표시할지 여부를 지정합니다. 기본적으로 fCheck 상태 TRUE 이미지가 표시됩니다. 이 FALSE경우 fCheck 표시되지 않습니다.

Return Value

항목이 선택되어 있으면 0이 아니고, 그렇지 않으면 0입니다.

예시

int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;

// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
    m_myListCtrl.SetCheck(i, fCheck);
    ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
        (!m_myListCtrl.GetCheck(i) && !fCheck));
    fCheck = !fCheck;
}

CListCtrl::SetColumn

목록 보기 열의 특성을 설정합니다.

BOOL SetColumn(
    int nCol,
    const LVCOLUMN* pColumn);

매개 변수

nCol
특성을 설정할 열의 인덱스입니다.

pColumn
Windows SDK에 LVCOLUMN 설명된 대로 새 열 특성을 포함하는 구조체의 주소입니다. 구조체의 mask 멤버는 설정할 열 특성을 지정합니다. 멤버가 mask 값을 지정 LVCF_TEXT 하는 경우 구조체의 pszText 멤버는 null로 끝나는 문자열의 주소이며 구조체의 cchTextMax 멤버는 무시됩니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

CListCtrl::GetColumn에 대한 예를 참조하세요.

CListCtrl::SetColumnOrderArray

목록 보기 컨트롤의 열 순서(왼쪽에서 오른쪽)를 설정합니다.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

매개 변수

piArray
목록 보기 컨트롤에 있는 열의 인덱스 값을 포함하는 버퍼에 대한 포인터입니다(왼쪽에서 오른쪽). 버퍼는 목록 보기 컨트롤의 총 열 수를 포함할 수 있을 만큼 커야 합니다.

iCount
목록 보기 컨트롤의 열 수입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetColumnOrderArray의 동작을 구현합니다.

예시

CListCtrl::GetColumnOrderArray에 대한 예를 참조하세요.

CListCtrl::SetColumnWidth

보고서 보기 또는 목록 보기에서 열의 너비를 변경합니다.

BOOL SetColumnWidth(
    int nCol,
    int cx);

매개 변수

nCol
너비를 설정할 열의 인덱스입니다. 목록 보기에서 이 매개 변수는 0이어야 합니다.

cx
열의 새 너비입니다. Windows SDK에 LVM_SETCOLUMNWIDTH 설명된 대로 또는 그 중 하나 LVSCW_AUTOSIZE LVSCW_AUTOSIZE_USEHEADER일 수 있습니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

CListCtrl::SetExtendedStyle

목록 보기 컨트롤의 현재 확장 스타일을 설정합니다.

DWORD SetExtendedStyle(DWORD dwNewStyle);

매개 변수

dwNewStyle
목록 보기 컨트롤에서 사용할 확장 스타일의 조합입니다. 이러한 스타일에 대한 설명 목록은 Windows SDK의 확장 목록 보기 스타일 항목을 참조하세요.

Return Value

목록 보기 컨트롤에서 사용한 이전 확장 스타일의 조합입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetExtendedListViewStyle의 동작을 구현합니다.

예시

// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
    (m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);

CListCtrl::SetGroupInfo

현재 목록 보기 컨트롤의 지정된 그룹을 설명하는 정보를 설정합니다.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

매개 변수

iGroupId
정보가 설정된 그룹의 식별자입니다.

pgrp
LVGROUP 설정할 정보가 들어 있는 구조체에 대한 포인터입니다. 호출자는 이 구조를 할당하고 해당 멤버를 설정하는 작업을 담당합니다.

Return Value

메서드가 성공한 경우 그룹의 ID입니다. 그렇지 않으면 -1입니다.

설명

이 메서드는 LVM_SETGROUPINFO Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::SetGroupMetrics

목록 보기 컨트롤의 그룹 메트릭을 설정합니다.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

매개 변수

pGroupMetrics
설정할 그룹 메트릭 정보를 포함하는 구조체에 대한 포인터 LVGROUPMETRICS 입니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETGROUPMETRICS 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetHotCursor

목록 보기 컨트롤에 대해 핫 트래킹을 사용할 때 사용되는 커서를 설정합니다.

HCURSOR SetHotCursor(HCURSOR hc);

매개 변수

hc
핫 커서를 나타내는 데 사용되는 커서 리소스에 대한 핸들입니다.

Return Value

목록 보기 컨트롤에서 사용 중인 이전 핫 커서 리소스에 대한 핸들입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetHotCursor의 동작을 구현합니다.

커서가 목록 보기 항목을 통과할 때 마우스로 가리킨 선택 영역을 사용할 때만 표시되는 핫 커서가 나타납니다. 확장 스타일을 설정하여 가리키기 LVS_EX_TRACKSELECT 선택을 사용할 수 있습니다.

예시

CListCtrl::GetHotCursor에 대한 예를 참조하세요.

CListCtrl::SetHotItem

목록 보기 컨트롤의 현재 핫 항목을 설정합니다.

int SetHotItem(int iIndex);

매개 변수

iIndex
핫 항목으로 설정할 항목의 인덱스(0부터 시작)입니다.

Return Value

이전 핫 항목의 인덱스(0부터 시작하는 인덱스)입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetHotItem의 동작을 구현합니다.

예시

CListCtrl::GetHotItem에 대한 예를 참조하세요.

CListCtrl::SetHoverTime

목록 보기 컨트롤의 현재 가리키기 시간을 설정합니다.

DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);

매개 변수

dwHoverTime
마우스 커서가 선택되기 전에 항목 위로 마우스 커서를 가져가야 하는 새 지연 시간(밀리초)입니다. 기본값이 전달되면 시간이 기본 가리키기 시간으로 설정됩니다.

Return Value

이전 가리키기 시간(밀리초)입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetHoverTime의 동작을 구현합니다.

예시

CListCtrl::GetHoverTime에 대한 예를 참조하세요.

CListCtrl::SetIconSpacing

목록 보기 컨트롤에서 아이콘 사이의 간격을 설정합니다.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

매개 변수

cx
x축의 아이콘 간 거리(픽셀)입니다.

cy
y축의 아이콘 사이의 거리(픽셀)입니다.

size
CSize x축과 y축의 아이콘 사이의 거리를 픽셀 단위로 지정하는 개체입니다.

Return Value

CSize 아이콘 간격에 대한 이전 값을 포함하는 개체입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetIconSpacing의 동작을 구현합니다.

예시

// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));

CListCtrl::SetImageList

목록 보기 컨트롤에 이미지 목록을 할당합니다.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

매개 변수

pImageList
할당할 이미지 목록에 대한 포인터입니다.

nImageListType
이미지 목록의 유형입니다. 다음 값 중 하나일 수 있습니다.

  • LVSIL_NORMAL 큰 아이콘이 있는 이미지 목록입니다.
  • LVSIL_SMALL 작은 아이콘이 있는 이미지 목록입니다.
  • LVSIL_STATE 상태 이미지가 있는 이미지 목록입니다.

Return Value

이전 이미지 목록에 대한 포인터입니다.

예시

CListCtrl::GetImageList에 대한 예를 참조하세요.

CListCtrl::SetInfoTip

도구 설명 텍스트를 설정합니다.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

매개 변수

plvInfoTip
설정할 정보를 포함하는 구조체에 대한 포인터 LVFSETINFOTIP 입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETINFOTIP 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetInsertMark

삽입 지점을 정의된 위치로 설정합니다.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

매개 변수

plvim
삽입 지점을 설정할 위치를 지정하는 구조체에 대한 포인터 LVINSERTMARK 입니다.

Return Value

성공하면 TRUE을(를) 반환하고, 그렇지 않으면 FALSE을(를) 반환합니다. FALSE 는 구조체 멤버의 크기가 cbSize 구조체의 LVINSERTMARK 실제 크기와 같지 않거나 삽입 포인터가 현재 보기에 적용되지 않는 경우 반환됩니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETINSERTMARK 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetInsertMarkColor

삽입 지점의 색을 설정합니다.

COLORREF SetInsertMarkColor(COLORREF color);

매개 변수

color
COLORREF 삽입 지점을 설정할 색을 지정하는 구조체입니다.

Return Value

이전 색을 COLORREF 포함하는 구조를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETINSERTMARKCOLOR 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetItem

목록 보기 항목의 특성 중 일부 또는 전체를 설정합니다.

BOOL SetItem(const LVITEM* pItem);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    int nIndent);

매개 변수

pItem
Windows SDK에 LVITEM 설명된 대로 새 항목 특성을 포함하는 구조체의 주소입니다. 구조 iItem 체와 iSubItem 멤버는 항목 또는 하위 항목을 식별하고 구조체의 mask 멤버는 설정할 특성을 지정합니다. 멤버에 대한 mask 자세한 내용은 비고를 참조하세요.

nItem
특성을 설정할 항목의 인덱스입니다.

nSubItem
특성을 설정해야 하는 하위 항목의 인덱스입니다.

nMask
설정할 특성을 지정합니다(주의 참조).

lpszItem
항목의 레이블을 지정하는 null로 끝나는 문자열의 주소입니다.

nImage
이미지 목록 내의 항목 이미지 인덱스입니다.

nState
변경할 상태에 대한 값을 지정합니다(주의 참조).

nStateMask
변경할 상태를 지정합니다(주의 참조).

lParam
항목과 연결할 32비트(x64용으로 컴파일하는 경우 64비트) 애플리케이션별 값입니다.

nIndent
들여쓰기의 너비(픽셀 단위)입니다. 시스템 정의 최소 너비보다 작으면 nIndent 새 너비가 시스템 정의 최소값으로 설정됩니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체와 iSubItem 매개 변수의 LVITEM 멤버 및 nItem nSubItem 멤버는 iItem 특성을 설정해야 하는 항목 및 하위 항목을 식별합니다.

구조체의 LVITEM 멤버와 매개 변수는 mask nMask 설정할 항목 특성을 지정합니다.

  • LVIF_TEXTpszText 멤버 또는 lpszItem 매개 변수는 null로 끝나는 문자열 cchTextMax 의 주소이며 멤버는 무시됩니다.
  • LVIF_STATE멤버 또는 nStateMask 매개 변수는 stateMask 변경할 항목 상태를 지정하고 state 해당 상태에 대한 값을 포함하는 멤버 또는 nState 매개 변수를 지정합니다.

예시

CListCtrl::HitTest에 대한 예를 참조하세요.

CListCtrl::SetItemCount

많은 수의 항목을 추가하기 위한 목록 보기 컨트롤을 준비합니다.

void SetItemCount(int nItems);

매개 변수

nItems
컨트롤에 궁극적으로 포함할 항목의 수입니다.

설명

가상 목록 보기 컨트롤의 항목 수를 설정하려면 다음을 참조하세요 CListCtrl::SetItemCountEx.

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetItemCount의 동작을 구현합니다.

예시

CString str;

// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemCountEx

가상 목록 보기 컨트롤의 항목 수를 설정합니다.

BOOL SetItemCountEx(
    int iCount,
    DWORD dwFlags = LVSICF_NOINVALIDATEALL);

매개 변수

iCount
컨트롤에 궁극적으로 포함할 항목의 수입니다.

dwFlags
항목 수를 다시 설정한 후 목록 보기 컨트롤의 동작을 지정합니다. 이 값은 다음의 조합일 수 있습니다.

  • LVSICF_NOINVALIDATEALL 영향을 받는 항목이 현재 보기에 있지 않으면 목록 보기 컨트롤이 다시 표시되지 않습니다. 기본값입니다.
  • LVSICF_NOSCROLL 목록 보기 컨트롤은 항목 수가 변경되면 스크롤 위치를 변경하지 않습니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Win32 매크로 ListView_SetItemCountEx의 동작을 구현합니다. Windows SDKand에 설명된 대로 가상 목록 보기에 대해서만 호출해야 합니다.

예시

CString str;

// Add 1024 items to the list view control.

// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
    LVSICF_NOINVALIDATEALL);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myVirtualListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemData

지정된 항목 nItem과 연결된 32비트(x64용으로 컴파일하는 경우 64비트) 애플리케이션별 값을 설정합니다.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

매개 변수

nItem
데이터를 설정할 목록 항목의 인덱스입니다.

dwData
항목과 연결할 32비트 값(x64용으로 컴파일하는 경우 64비트)입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 값은 Windows SDK에 LVITEM 설명된 대로 구조체의 멤버입니다lParam.

예시

// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
    m_myListCtrl.SetItemData(i, i);
}

CListCtrl::SetItemIndexState

현재 목록 보기 컨트롤에 있는 항목의 상태를 설정합니다.

BOOL SetItemIndexState(
    PLVITEMINDEX pItemIndex,
    DWORD dwState,
    DWORD dwMask) const;

매개 변수

pItemIndex
[in] LVITEMINDEX 항목을 설명하는 구조체에 대한 포인터입니다. 호출자는 이 구조를 할당하고 해당 멤버를 설정하는 작업을 담당합니다.

dwState
[in] 목록 보기 항목 상태의 비트 조합인 항목을 설정할 상태입니다. 다시 설정할 0을 지정하거나 설정할 상태를 지정합니다.

dwMask
[in] 매개 변수로 지정된 상태의 유효한 비트 마스크 dwState 입니다. 목록 보기 항목 상태의 비트 조합(OR)을 지정합니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

매개 변수에 대한 dwState 자세한 내용은 목록 보기 항목 상태를 참조 하세요.

매개 변수에 dwMask 대한 자세한 내용은 구조체의 멤버를 stateMask 참조하세요 LVITEM .

이 메서드는 LVM_SETITEMINDEXSTATE Windows SDK에 설명된 메시지를 보냅니다.

CListCtrl::SetItemPosition

목록 보기 컨트롤에서 항목을 지정된 위치로 이동합니다.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

매개 변수

nItem
위치를 설정할 항목의 인덱스입니다.

pt
POINT 항목의 왼쪽 위 모서리에 있는 뷰 좌표의 새 위치를 지정하는 구조체입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

컨트롤은 아이콘 또는 작은 아이콘 보기에 있어야 합니다.

목록 보기 컨트롤에 스타일이 LVS_AUTOARRANGE 있으면 항목의 위치가 설정된 후 목록 보기가 정렬됩니다.

예시

CListCtrl::GetItemPosition에 대한 예를 참조하세요.

CListCtrl::SetItemState

목록 보기 컨트롤에서 항목의 상태를 변경합니다.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

BOOL SetItemState(
    int nItem,
    UINT nState,
    UINT nMask);

매개 변수

nItem
상태를 설정할 항목의 인덱스입니다. -1을 전달하여 모든 항목에 상태 변경을 적용합니다.

pItem
Windows SDK에 LVITEM 설명된 대로 구조체의 주소입니다. 구조체의 stateMask 멤버는 변경할 상태 비트를 지정하고 구조체의 state 멤버는 해당 비트에 대한 새 값을 포함합니다. 다른 멤버는 무시됩니다.

nState
상태 비트에 대한 새 값입니다. 가능한 값 목록은 상태 멤버를 LVITEM 참조 CListCtrl::GetNextItem 하세요.

nMask
변경할 상태 비트를 지정하는 마스크입니다. 이 값은 구조체의 stateMask 멤버에 해당합니다 LVITEM .

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

항목의 "상태"는 항목의 가용성을 지정하거나, 사용자 작업을 나타내거나, 그렇지 않으면 항목의 상태를 반영하는 값입니다. 목록 보기 컨트롤은 사용자가 항목을 선택하는 경우와 같은 일부 상태 비트를 변경합니다. 애플리케이션은 항목을 사용하지 않거나 숨기거나 오버레이 이미지 또는 상태 이미지를 지정하기 위해 다른 상태 비트를 변경할 수 있습니다.

예시

CListCtrl::GetTopIndex에 대한 예를 참조하세요.

CListCtrl::SetItemText

목록 보기 항목 또는 하위 항목의 텍스트를 변경합니다.

BOOL SetItemText(
    int nItem,
    int nSubItem,
    LPCTSTR lpszText);

매개 변수

nItem
텍스트를 설정할 항목의 인덱스입니다.

nSubItem
항목 레이블을 설정할 하위 항목의 인덱스이거나 0입니다.

lpszText
새 항목 텍스트가 포함된 문자열에 대한 포인터입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 메서드는 창 스타일이 포함된 LVS_OWNERDATA 컨트롤에 사용할 수 없습니다(실제로 디버그 빌드에서 어설션이 발생). 이 목록 컨트롤 스타일에 대한 자세한 내용은 목록 보기 컨트롤 개요를 참조 하세요.

예시

CListCtrl::InsertItem에 대한 예를 참조하세요.

CListCtrl::SetOutlineColor

확장 창 스타일이 설정된 경우 목록 보기 컨트롤의 테두리 색을 LVS_EX_BORDERSELECT 설정합니다.

COLORREF SetOutlineColor(COLORREF color);

매개 변수

color
윤곽선 색을 포함하는 새 COLORREF 구조체입니다.

Return Value

윤곽선 색을 포함하는 이전 COLORREF 구조체

설명

이 멤버 함수는 Windows SDK에 LVM_SETOUTLINECOLOR 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetSelectedColumn

목록 보기 컨트롤의 선택한 열을 설정합니다.

LRESULT SetSelectedColumn(int iCol);

매개 변수

iCol
선택할 열의 인덱스입니다.

Return Value

반환 값은 사용되지 않습니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETSELECTEDCOLUMN 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetSelectionMark

목록 보기 컨트롤의 선택 표시를 설정합니다.

int SetSelectionMark(int iIndex);

매개 변수

iIndex
여러 선택 영역에 있는 첫 번째 항목의 인덱스(0부터 시작)입니다.

Return Value

이전 선택 표시이거나 선택 표시가 없으면 -1입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetSelectionMark의 동작을 구현합니다.

예시

CListCtrl::GetSelectionMark에 대한 예를 참조하세요.

CListCtrl::SetTextBkColor

목록 보기 컨트롤에서 텍스트의 배경색을 설정합니다.

BOOL SetTextBkColor(COLORREF cr);

매개 변수

cr
COLORREF 새 텍스트 배경색을 지정하는 값입니다. 자세한 내용은 Windows SDK를 참조 COLORREF 하세요.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);

CListCtrl::SetTextColor

목록 보기 컨트롤의 텍스트 색을 설정합니다.

BOOL SetTextColor(COLORREF cr);

매개 변수

cr
COLORREF 새 텍스트 색을 지정하는 값입니다. 자세한 내용은 Windows SDK를 참조 COLORREF 하세요.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

예시

// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);

CListCtrl::SetTileInfo

목록 보기 컨트롤의 타일에 대한 정보를 설정합니다.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

매개 변수

pTileInfo
설정할 정보를 포함하는 구조체에 대한 포인터 LVTILEINFO 입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETTILEINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetTileViewInfo

목록 보기 컨트롤이 타일 보기에서 사용하는 정보를 설정합니다.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

매개 변수

ptvi
설정할 정보가 들어 있는 LVTILEVIEWINFO 구조체에 대한 포인터입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETTILEVIEWINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetToolTips

목록 보기 컨트롤이 도구 설명을 표시하는 데 사용할 도구 설명 컨트롤을 설정합니다.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

매개 변수

pWndTip
목록 컨트롤에서 CToolTipCtrl 사용할 개체에 대한 포인터입니다.

Return Value

이전에 컨트롤 NULL 에서 CToolTipCtrl 사용한 도구 설명이 들어 있거나 이전에 사용된 도구 설명이 없는 개체에 대한 포인터입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 LVM_SETTOOLTIPS의 동작을 구현합니다.

도구 설명을 사용하지 않려면 개체를 LVS_NOTOOLTIPS 만들 CListCtrl 때 스타일을 나타냅니다.

CListCtrl::SetView

목록 보기 컨트롤의 보기를 설정합니다.

DWORD SetView(int iView);

매개 변수

iView
선택할 보기입니다.

Return Value

성공하면 1을 반환하고, 그렇지 않으면 -1을 반환합니다. 예를 들어 뷰가 잘못된 경우 -1을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SETVIEW 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SetWorkAreas

목록 보기 컨트롤에 아이콘을 표시할 수 있는 영역을 설정합니다.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

매개 변수

nWorkAreas
을 가리키는 lpRect배열의 RECT 구조체(또는 CRect 개체) 수입니다.

lpRect
목록 보기 컨트롤의 RECT 새 작업 영역을 지정하는 구조체(또는 CRect 개체) 배열의 주소입니다. 이러한 영역은 클라이언트 좌표로 지정해야 합니다. 이 매개 변수인 NULL경우 작업 영역이 컨트롤의 클라이언트 영역으로 설정됩니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SetWorkAreas의 동작을 구현합니다.

예시

// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);

CListCtrl::SortGroups

애플리케이션 정의 비교 함수를 사용하여 목록 보기 컨트롤 내에서 ID별로 그룹을 정렬합니다.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

매개 변수

_pfnGroupCompare
그룹 비교 함수에 대한 포인터입니다.

_plv
void 포인터입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 LVM_SORTGROUPS 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CListCtrl::SortItems

애플리케이션 정의 비교 함수를 사용하여 목록 보기 항목을 정렬합니다.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

매개 변수

pfnCompare
[in] 애플리케이션 정의 비교 함수의 주소입니다.

정렬 작업은 두 목록 항목의 상대 순서를 결정해야 할 때마다 비교 함수를 호출합니다. 비교 함수는 클래스의 정적 멤버이거나 클래스의 멤버가 아닌 독립 실행형 함수여야 합니다.

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

Return Value

TRUE 메서드가 성공하면 이고, 그렇지 않으면 FALSE.

설명

이 메서드는 새 시퀀스를 반영하도록 각 항목의 인덱스를 변경합니다.

비교 함수 pfnCompare의 형식은 다음과 같습니다.

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

비교 함수는 첫 번째 항목이 두 번째 항목 앞에 오면 음수 값을 반환하고, 첫 번째 항목이 두 번째 항목 뒤에 오면 양수 값을 반환하고, 두 항목이 같으면 0을 반환해야 합니다.

lParam1 매개 변수는 비교된 첫 번째 항목과 연결된 32비트 값(x64용으로 컴파일하는 경우 64비트)이며 lParam2 매개 변수는 두 번째 항목과 연결된 값입니다. 이러한 값은 항목이 목록에 삽입될 lParam 때 항목 구조체 LVITEM 의 멤버에 지정된 값입니다. lParamSort 매개 변수는 값과 dwData 같습니다.

이 메서드는 LVM_SORTITEMS Windows SDK에 설명된 메시지를 보냅니다.

예시

다음은 항목이 값별로 lParam 정렬되는 간단한 비교 함수입니다.

// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);
    return (int)(lParam1 - lParam2);
}

// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

CListCtrl::SortItemsEx

애플리케이션 정의 비교 함수를 사용하여 현재 목록 보기 컨트롤의 항목을 정렬합니다.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

매개 변수

pfnCompare
[in] 애플리케이션 정의 비교 함수의 주소입니다. 정렬 작업은 두 목록 항목의 상대 순서를 결정해야 할 때마다 비교 함수를 호출합니다. 비교 함수는 클래스의 정적 멤버이거나 클래스의 멤버가 아닌 독립 실행형 함수여야 합니다.

dwData
[in] 비교 함수에 전달된 애플리케이션 정의 값입니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 새 시퀀스를 반영하도록 각 항목의 인덱스를 변경합니다.

비교 함수 pfnCompare의 형식은 다음과 같습니다.

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

이 메시지는 비교 함수에 전달되는 정보의 형식을 제외하고 다음과 같습니다 LVM_SORTITEMS. lParam1 lParam2 에서 LVM_SORTITEMS비교할 항목의 값입니다. lParam1 에서 LVM_SORTITEMSEX비교할 첫 번째 항목의 현재 인덱스이며 lParam2 두 번째 항목의 현재 인덱스입니다. 메시지를 보내 항목에 LVM_GETITEMTEXT 대한 자세한 정보를 검색할 수 있습니다.

비교 함수는 첫 번째 항목이 두 번째 항목 앞에 오면 음수 값을 반환하고, 첫 번째 항목이 두 번째 항목 뒤에 오면 양수 값을 반환하고, 두 항목이 같으면 0을 반환해야 합니다.

참고 항목

정렬 과정에서 목록 뷰 콘텐츠가 불안정합니다. 콜백 함수가 다른 목록 보기 컨트롤 LVM_GETITEM에 메시지를 보내면 결과를 예측할 수 없습니다.

이 메서드는 LVM_SORTITEMSEX Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 목록 보기 컨트롤에 액세스하는 데 사용되는 변수 m_listCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

다음 코드 예제에서는 메서드를 보여 줍니다 SortItemEx . 이 코드 예제의 이전 섹션에서는 보고서 보기에 "ClientID" 및 "Grade"라는 두 개의 열을 표시하는 목록 보기 컨트롤을 만들었습니다. 다음은 "Grade" 열의 값을 사용하여 테이블을 정렬하는 코드 예제입니다.

// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
                             LPARAM lParam1,
                             LPARAM lParam2,
                             LPARAM lParamSort)
{
    CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
    CString    strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
    CString    strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
    int x1 = _tstoi(strItem1.GetBuffer());
    int x2 = _tstoi(strItem2.GetBuffer());
    int result = 0;
    if ((x1 - x2) < 0)
        result = -1;
    else if ((x1 - x2) == 0)
        result = 0;
    else
        result = 1;

    return result;
}

void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
    // SortItemsEx
    m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}

CListCtrl::SubItemHitTest

지정된 위치에 있는 목록 보기 항목(있는 경우)을 결정합니다.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

매개 변수

pInfo
구조체에 대한 포인터입니다 LVHITTESTINFO .

Return Value

테스트 중인 항목 또는 하위 항목의 1부터 시작하는 인덱스이거나, 그렇지 않으면 -1입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 매크로 ListView_SubItemHitTest의 동작을 구현합니다.

예시

void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    LVHITTESTINFO lvhti;

    // Clear the subitem text the user clicked on.
    lvhti.pt = pia->ptAction;
    m_myListCtrl.SubItemHitTest(&lvhti);

    if (lvhti.flags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
    }
}

CListCtrl::Update

목록 보기 컨트롤에서 지정 nItem한 항목을 다시 칠하도록 합니다.

BOOL Update(int nItem);

매개 변수

nItem
업데이트할 항목의 인덱스입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

또한 이 함수는 스타일이 있는 경우 목록 보기 컨트롤을 정렬합니다 LVS_AUTOARRANGE .

예시

CListCtrl::GetSelectedCount에 대한 예를 참조하세요.

참고 항목

MFC 샘플 ROWLIST
CWnd 수업
계층 구조 차트
CImageList 수업