반응형
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을 생성 후
각 컬럼과 열에 data를 넣어준 뒤 클릭벤트를 걸어주면
row 전체가 선택이 되는게 아니라 첫번째 열(column)만이 선택이된다.
이럴때 마법과 같은 코드 한줄이면 전체 선택이 된다.
리스트컨트롤 변수를 생성하여 아래의 코드를 onInitDialog쪽에 쳐주면
끝
CListCtrl test;
test.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
LVS_EX_FULLROWSELECT만 적용된 경우
LVS_EX_FULLROWSELEC | LVS_EX_GRIDLINES 적용된 경우
그 이외에 스타일 추가는 msdn에 있을거라 생각되고
필요하면 찾아서 적용하면 될듯하다
반응형
'개발자 > WPF(C#) UI' 카테고리의 다른 글
WPF 실행 중인 프로그램이나 창 띄우지 않게 하기 (0) | 2020.08.04 |
---|---|
Report 형식의 CListCtrl 에 자료 넣기 (0) | 2020.07.29 |
SonarLint로 정적 test 중 나오는 Warning 정리(2) (0) | 2020.04.13 |
SonarLint로 정적 test 중 나오는 Warning 정리(1) (0) | 2020.04.13 |
WPF UI 반응이 느려졌을 때 Tips (2) | 2020.04.09 |