이번 글은 직접 List Control을 구현해보는 것이 기본 목표입니다.
개념은 기본 멤버함수 몇 개 소개하는 것으로 시작하겠습니다.
1. CListCtrl 클래스의 멤버함수
* InsertColumn | ||||||||
int InsertColumn ( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );
-> nCol : 컬럼 헤더의 인덱스 값 -> lpszColumnHeading : 컬럼 헤더에 표시할 문자열 -> nFormat : 컬럼 헤더에 표시할 문자열의 정렬방식을 지정하며, 다음의 값들을 지정하여 사용가능. -> Return 값 : 컬럼 추가에 성공하면 컬럼의 인덱스를 반환하며, 실패하면 -1을 반환한다.
-> nWidth : 컬럼 헤더의 너비 -> nSubItem : 연관된 하위 항목의 인덱스 -> Return 값 : 컬럼 추가에 성공하면 컬럼의 인덱스를 반환하며, 실패하면 -1을 반환한다.
| ||||||||
* DeleteColumn | ||||||||
BOOL DeleteColumn ( int nCol ) ;
-> nCol : 삭제하고자 하는 컬럼의 인덱스 -> Return 값 : 삭제에 실패하면 0 (FALSE)을, 성공하면 1 (TRUE)을 반환한다. | ||||||||
* InsertItem | ||||||||
int InsertItem ( const LVITEM* pItem ) ;
-> pItem : 리스트 컨트롤에 등록할 LVITEM 구조체 포인터 -> Return 값 : 성공 시 추가된 아이템의 인덱스, 실패 시 -1 | ||||||||
* SetItemText | ||||||||
BOOL SetItemText ( int nItem, int nSubItem, LPCTSTR lpszText ) ;
-> nItem : 아이템 인덱스 -> nSubItem : 서브 아이템 인덱스 -> lpszText : 출력할 텍스트 변수의 포인터 -> Return 값 : 실패시 0(FALSE), 성공시 1(TRUE) 반환 | ||||||||
* GetItemText | ||||||||
CString GetItemText ( int nItem, int nSubItem ) const
-> nItem : 아이템 인덱스 -> nSubItem : 서브 아이템 인덱스 -> Return 값 : 지정한 아이템 또는 서브 아이템의 문자열 | ||||||||
* DeleteItem | ||||||||
BOOL DeleteItem ( int nItem );
-> nItem : 아이템 인덱스 -> Return 값 : 성공시 TRUE(1), 실패시 FALSE | ||||||||
* DeleteAllItems | ||||||||
BOOL DeleteAllItems( );
-> Return 값 : 성공시 TRUE, 실패시 FALSE |
2. 결과물
3. 레이아웃
List Control에 변수를 만들어 줍니다.
컨트롤 이름 |
범주(T) |
변수 이름(N) |
비고 |
List Control |
Control |
m_ListView |
|
ListControl 속성의 View를 Report로 바꿔줍니다.
4. 코드
BOOL CListControlDlg::OnInitDialog(){
(중략) // TODO: 여기에 추가 초기화 작업을 추가합니다. m_ListView.InsertColumn(0, _T("번호"), NULL, 50);
// LVITEM - 삽입 데이터 보관 장소
seconditem.mask = LVIF_TEXT;
// 데이터 삽입 - Firstitem
// 데이터 값 넣기 - Firstitem
// 데이터 삽입 - Seconditem
UpdateData(FALSE);
return TRUE; // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다. |
dlg.cpp 파일 내 코드 |
'소프트웨어(SW) > MS - C++ (GUI) MFC' 카테고리의 다른 글
[MFC] Visual C++ 2019(C++ MFC)에서 Maria DB 연동하기 (10) | 2019.07.24 |
---|---|
[MFC] 윈도우 프로그래밍 기초 - 트리 컨트롤 (7) | 2015.04.02 |
[MFC] 윈도우 프로그래밍 기초 - 프로그래스 컨트롤 (1) | 2015.03.31 |
[MFC] 윈도우 프로그래밍 기초 - 공통 컨트롤의 이해? (1) | 2015.03.31 |
[MFC] 윈도우 프로그래밍 기초 - 폰트 대화상자(CFontDialog) (1) | 2015.03.31 |