본문 바로가기

MFC 인터페이스

리스트 컨트롤 컬럼 셋팅 방법

 

dlg 클래스의 onInitDlg 메소드에  컬럼을 초기화 시켜주어야 실행될때 완성된 상태로 출력이 된다.


LVCOLUMN 구조체
  : ListControl에 컬럼셋팅할때 사용하는 구조체

 // 리스트컨트롤의 필드 삽입
 LVCOLUMN lvCol;
 TCHAR *list[4] ={_T("순번"),_T("학과"),_T("학번"),_T("이름") };
 int nWidth[4] = { 100,180,120,120 };

 for(int i = 0 ; i < 4 ; i ++){
  //LVCOLUMN 멤버 지정 -> 컬럼 삽입
  lvCol.mask = LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
  lvCol.fmt = LVCFMT_CENTER; // 정렬 방식
  lvCol.cx = nWidth[i];
  lvCol.pszText = list[i];
  lvCol.iSubItem = i;

  m_lstStudent.InsertColumn(i,&lvCol);
 }

ListCtrl 클래스 ( 리스트컨트롤을 다루는 클래스 ) 멤버함수

1) InsertColumn(컬럼인덱스,LVCOLUMN 구조체 변수의 주소값);

 

MSDN : http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=KO-KR&k=k%28%22COMMCTRL%2fLVCOLUMN%22%29;k%28LVCOLUMN%29&rd=true

 

GetExtendedStyle(); // 현재리스트컨트롤의 스타일을 얻어오는 함수
SetExtendedStyle(style값); 리스트컨트롤의 스타일을 셋팅

 m_lstStudent.SetExtendedStyle(m_lstStudent.GetExtendedStyle()|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_UNDERLINEHOT);