윈도우 프로그래밍 설계
청주대학교 융합전자공학부 전자공학전공 한철수
제11장 리스트 컨트롤 프로그램
목차
2
• 리스트 컨트롤을 이용한 프로그램 작성의 이해
• 리스트 컨트롤을 이용한 프로그램 작성
제11장
리스트 컨트롤
3
• 리스트 컨트롤(List Control)은 데이터를 보여주는 용도로 사 용됨.
• 속성 값 설정에 따라 4가지 형태로 표시가 가능함.
‒ 아이콘(Icon)
‒ 작은 아이콘(Small Icon)
‒ 리스트(List)
‒ 리포트(Report)
• 리포트 방식이 많이 사용됨.
‒ 하나의 아이템을 한 줄로 표시함.
‒ 세로 줄을 칼럼(Column)이라 함.
‒ 각 칼럼들의 제목을 모아둔 맨 윗줄을 칼럼 헤더(Column Header)라
고 함.
리스트 컨트롤의 주요 속성들
4
• 리스트 컨트롤의 속성 창에서 다양한 속성들을 설정할 수 있음.
11.1절
속성 설명
보기 (View) Icon, Small Icon, List, Report 중 선택 맞춤 (Alignment) Left/Top 중 선택
정렬 (Sort) None / Ascending / Descending 중 선택 단일 선택 (Single
Selection) 하나의 항목만 선택이 가능해짐. 열 머리글 없음 (No
Column Header) Report 형태에서 칼럼 헤더를 표시하지 않음.
리스트 컨트롤의 주요 스타일
5
• 리스트 컨트롤의 주요 속성들 외에도 다양한 스타일이 추가되 었음.
• 스타일은 CListCtrl 클래스의 멤버 함수인 SetExtendedStyle() 함수로 등록함.
• 예
CListCtrl m_listView;
m_listView.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
스타일 설명
LVS_EX_GRIDLINES 격자를 표시함. LVS_EX_FULLROWSEL
ECT 아이템이 선택될 때 아이템과 서브 아이템을 같이 하 이라이트 시킴.
헤더 추가
6
• LVCOLUMN 구조체 변수를 완성한 후, CListCtrl 클래스의 멤 버 함수인 InsertColumn() 함수로 헤더를 추가함.
11.1절
아이템 추가
7
• LVITEM 구조체 변수를 완성한 후, CListCtrl 클래스의 멤버 함
수인 InsertItem() 함수로 아이템을 추가함.
지우기 함수
8
• CListCtrl 클래스의 멤버 함수에는 다양한 지우기 함수가 있음.
‒ DeleteColumn() 함수
• 칼럼을 삭제함.
‒ DeleteItem() 함수
• 아이템을 삭제함.
‒ DeleteAllItems() 함수
• 모든 아이템을 삭제함.
11.1절
리스트 컨트롤의 주요 통지 메시지
9
통지 메시지 설명
LBN_DBLCLK 특정 항목을 더블 클릭했음.
LBN_SELCHANGE 선택을 변경했음.
LBN_SELCANCEL 선택이 취소되었음.
LBN_SETFOCUS 포커스를 얻었음.
LBN_KILLFOCUS 포커스를 잃었음.
LBN_ERRSPACE 메모리가 부족함.
리스트 컨트롤을 이용한 프로그램 작성
10
• 만들고자 하는 대화상자 기반 프로그램
‒ 다양한 입력 컨트롤을 사용하여 학생 데이터를 입력하고, 입력된 정보 를 리스트 컨트롤에 출력함.
11.2절
리스트 컨트롤
라디오 버튼
콤보 박스
질문
11