728x90
반응형
* list control 의 컨트롤 변수 : m_List
리스트 초기화 (모든 항목 지우기)
m_List.DeleteAllItems();
while (m_List.DeleteColumn(0));
리스트 열 너비 자동 조절
for (int i = 0; i < m_List.GetHeaderCtrl()->GetItemCount(); ++i)
m_List.SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);
리스트 열 너비 수동 조절
CRect rectParam;
m_List.GetWindowRect(&rectParam);
m_List.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_List.InsertColumn(0, _T("col-0"), LVCFMT_LEFT, rectParam.Width()*0.2);
m_List.InsertColumn(1, _T("col-1"), LVCFMT_CENTER, rectParam.Width()*0.3);
m_List.InsertColumn(2, _T("col-2"), LVCFMT_CENTER, rectParam.Width()*0.5);
//모든 열 너비의 합이 rectParam.Width() 가 되어야 한다.
리스트 선택 및 활성화 (파란색으로 활성화 하기)
int nRow = 0; //0번째 행을 활성화 하기
m_List.SetItemState(-1, 0, LVIS_SELECTED | LVIS_FOCUSED); //기존 선택된 항목 선택 취소
m_List.SetItemState(nRow, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
m_List.EnsureVisible(nRow, FALSE);
m_List.SetFocus();
리스트 클릭해도 활성화 되지 않게 하기
(1) List Control에 Event Handler 추가하기
-> LVN_ITEMCHANGING
(2) Added Event Handler Function에 아래 코드 삽입
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
if ((pNMLV->uChanged & LVIF_STATE) && (pNMLV->uNewState & LVNI_SELECTED))
*pResult = 1;
else
*pResult = 0;
리스트 대량 데이터 넣기
(1) List Control 속성 Owner Data -> True
(2)
728x90
반응형
'배움 - 차근차근 기록하자 > [개발] MFC 🔴' 카테고리의 다른 글
[MFC] Text Control 색상 변경 (0) | 2022.12.05 |
---|---|
[MFC] 다이얼로그 배경색 변경 (0) | 2022.12.05 |
[MFC] 리소스 에러 : RC2104 undefined keyword or key name : @ /해결하기/원인/RC2104 (0) | 2021.07.29 |
[MFC] 프로그램 작업표시줄 아이콘 숨기기 (0) | 2021.06.01 |