본문 바로가기

개발자/WPF(C#) UI

[MFC] List Control (추가예정)

반응형

MFC List 컨트롤 


1. 소스 코드

// 리스트 초기화 
m_List.DeleteAllItems(); 
// 리스트 스타일 설정 
m_List.SetExtendedStyle(LVS_EX_GRIDLINES); 
// 타이틀 삽입 
m_List.InsertColumn(0, _T("Category"), LVCFMT_LEFT, 140, -1); 
m_List.InsertColumn(1, _T("Before"), LVCFMT_CENTER, 109, -1); 
m_List.InsertColumn(2, _T("After"), LVCFMT_CENTER, 109, -1); 
// Row 0 
m_List.InsertItem(0, _T("Virtual Size")); 
m_List.InsertItem(1, _T("CheckSum")); 
m_List.InsertItem(2, _T("Size of Image")); 
m_List.InsertItem(3, _T("Size of Raw Data")); 
m_List.InsertItem(4, _T("Size of Initialized Data")); 
// 첫번째 인자는 행, 두번째 인자는 열을 의마한다. 
m_List.SetItem(0, 1, LVIF_TEXT, _T("0행 1열"), 0, 0, 0, NULL ); 
m_List.SetItem(1, 1, LVIF_TEXT, _T("1행 1열"), 0, 0, 0, NULL ); 
m_List.SetItem(2, 1, LVIF_TEXT, _T("2행 1열"), 0, 0, 0, NULL ); 
m_List.SetItem(3, 1, LVIF_TEXT, _T("3행 1열"), 0, 0, 0, NULL ); 
m_List.SetItem(4, 1, LVIF_TEXT, _T("4행 1열"), 0, 0, 0, NULL ); 
m_List.SetItem(0, 2, LVIF_TEXT, _T("0행 2열"), 0, 0, 0, NULL ); 
m_List.SetItem(1, 2, LVIF_TEXT, _T("1행 2열"), 0, 0, 0, NULL ); 
m_List.SetItem(2, 2, LVIF_TEXT, _T("2행 2열"), 0, 0, 0, NULL ); 
m_List.SetItem(3, 2, LVIF_TEXT, _T("3행 2열"), 0, 0, 0, NULL ); 
m_List.SetItem(4, 2, LVIF_TEXT, _T("4행 2열"), 0, 0, 0, NULL );





2. 결과

 


List Control 행 전체 선택(열 전체 선택)

 

 

위와 같이 기본 list control을 생성 후

각 컬럼과 열에 data를 넣어준 뒤 클릭벤트를 걸어주면

row 전체가 선택이 되는게 아니라 첫번째 열(column)만이 선택이된다.

 

 

이럴때 마법과 같은 코드 한줄이면 전체 선택이 된다.

 

 

 리스트컨트롤 변수를 생성하여 아래의 코드를 onInitDialog쪽에 쳐주면

 

 

 

CListCtrl test;

test.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

 

 

 

LVS_EX_FULLROWSELECT만 적용된 경우

 

 

 

 

LVS_EX_FULLROWSELEC | LVS_EX_GRIDLINES 적용된 경우

 

 

 

그 이외에 스타일 추가는 msdn에 있을거라 생각되고

 필요하면 찾아서 적용하면 될듯하다

반응형