본문 바로가기
컴퓨터/MFC_API

Report형식의 CListCtrl에서 특정 항목 선택하기

by adnoctum 2010. 3. 30.
SelectAll 과 같은 함수가 없지만 다음과 같이 구현할 수 있다.


int i = 0;

for(i = 0; i<_lcDataReport.GetItemCount(); i++){

    _lcDataReport.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);

}



CListCtrl::SetItemState 함수는
첫 번째 인자로 속성을 변경시킬 item의 zero-based index를 입력받고,
두 번째 인자로 어떤 속성으로 만들고 싶은지를 결정하는 속성을 입력받고,
세 번째 인자로 여러 속성 중 어느 속성을 변경하고 싶은지를 입력받는다.

즉, 속성에는 overlay image 이미지라거나 focus를 입력받고 있는 상태와 같은 여러 속성이 있다. 이 속성 중 어느 속성을 변경시킬 것인가를 세 번째 인자로 넘긴다. 그 후 그 속성을 어떤 값으로 변경할 것인지를 두 번째 인자로 넘긴다. 위 코드는, 따라서, selection state에 해당하는 LVIS_SELECTED bit 값을 (세 번째 인자) 선택을 하는 LVIS_SELECTED (두 번재 인자)로 설정한 후 i 번째 항목을 변경하는 것이다.

원하는 항목을 선택하기 위해서는 첫 번째 인자로 원하는 index 를 넘겨 주면 될 것이다.