CListCtrl 컬럼 정보 채우기 코드 (심플)
C++ 2007. 10. 26. 23:53 |컬럼 정보를 크기에 맞도록 채우는 코드 입니다.
넓이 값을 가져 와서 비율 적으로 처리 하는 부분도 있지만.
그 부분을 빼고 직접 넓이를 지정하게 하는 구조를 취하게 했습니다.
코드는 아래와 같습니다.
//컬럼 채우기
int m_nColWidths[] = { 90, 60}; // sixty-fourths
TCHAR * lpszHeaders[] = {
_T("Port/Sequence"),
_T("Address"),
NULL };
int i;
LV_COLUMN lvcolumn;
memset(&lvcolumn, 0, sizeof(lvcolumn));
// add columns
for (i = 0; ; i++)
{
if (lpszHeaders[i] == NULL)
break;
lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
lvcolumn.fmt = LVCFMT_LEFT;
lvcolumn.pszText = lpszHeaders[i];
lvcolumn.iSubItem = i;
lvcolumn.cx = m_nColWidths[i];
m_listPortSequencePerAddress.InsertColumn(i, &lvcolumn);
}
lpszHeaders, m_nColWidths 의 정보를 사용해서 for문을 통해서
컬럼 정보를 입력 하는 구조입니다.
하드 코딩 하는거 보다는 이 방법을 취하는게 중간 중간 컬럼명이 바뀔 경우
lpszHeaders의 내용만 수정해 주면 되니까 편한듯 합니다.