반응형
안드로이드 리스트뷰랑 명칭이 헷갈렸었는데, MFC는 리스트컨트롤이라고 한다.
안드로이드는 JAVA이고, MFC는 C++이다.
리스트 컨트롤에 아래처럼 옵션을 걸어주면, 열과 행에 선이 생긴다.
m_List.SetExtendedStyle(LVS_EX_GRIDLINES); m_List.InsertColumn(1, _T("신 이름"), LVCFMT_CENTER, 80); m_List.InsertColumn(2, _T("신 번호"), LVCFMT_CENTER, 100); m_List.InsertColumn(3, _T("신 무기"), LVCFMT_CENTER, 80); m_List.InsertColumn(4, _T("신 구분"), LVCFMT_CENTER, 80); m_List.InsertColumn(5, _T("신 상태"), LVCFMT_CENTER, 160); m_List.InsertColumn(6, _T("신 특기"), LVCFMT_CENTER, 100); m_List.InsertItem(1,_T("1")); m_List.InsertItem(2,_T("1")); m_List.InsertItem(3,_T("1")); m_List.InsertItem(4,_T("1"));
InsertColum은 제목을 넣는 것이고,
InsertItem은 행에 값을 넣는 것이다.
하지만 첫번째 열에만 값을 넣을 수 있다는 단점이 있다.
그래서 다음과 같은 코드를 사용해서 여러 열에 값을 넣는다.
m_List.SetItemText(0, 0, _T("제우스")); m_List.SetItemText(0, 1, _T("001")); m_List.SetItemText(0, 2, _T("번개창")); m_List.SetItemText(0, 4, _T("맏아들")); m_List.SetItemText(0, 5, _T("배고픔")); m_List.SetItemText(0, 6, _T("바람피우기"));
이렇게 하여 여러 열에 값을 넣을 수 있다.
행을 바꾸려면, 0을 1로 해주면 된다.
헌데 Colum은 왜 0이 아니라 1부터 시작하는가?
원래는 0부터 시작해야 하지만, 정렬이 제대로 먹히지 않는 이슈가 있다.
(가운데 정렬을 적용해도 왼쪽정렬을 해버림.)
때문에 0을 쓰지 않고 1부터 사용한다.
반응형
'호구지책 > C/C++/C#' 카테고리의 다른 글
[C#] 프로그램 실행 아이콘 변경하기 (0) | 2017.05.08 |
---|---|
[C#] 바코드 라이브러리 (0) | 2017.04.20 |
[MFC] CSstring 형변환 함수 (0) | 2017.02.16 |
[MFC] 클래스 호출하기 (0) | 2017.02.16 |
[C++] 32비트를 64비트로 포팅하기 (0) | 2016.12.16 |
[VC6] 원격 디버깅 (0) | 2016.12.08 |
[C++] vector 다루기 (0) | 2015.09.23 |
비주얼스튜디오 단축키 (0) | 2015.07.09 |
댓글