티스토리 뷰
추가(Report 기준 - List Control을 생성하고 속성 - 모양 - View - Report 선택)
1 2 3 4 5 6 7 8 9 10 | /* dlg.h */ CListCtrl m_list1; /* dlg.cpp */ BOOL fuction() { const char *szText[]={"A","B", "C", "D", "E"}; unsigned int nWid[]={100, 100, 100, 100, 100}; MakeColumn(&m_list, szText, nWid, 5); } | cs |
※ List Control을 만든 후, 마우스 오른쪽 클릭을 누르면 변수 추가가 있다. 멤버 변수 추가 마법사가 실행되는데 변수 이름만 입력해주고 확인을 눌러주면 헤더파일에 자동으로 변수가 생성될 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | void List_add(CListCtrl m_list4) { const DWORD conbuffer[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; char szText[MAX_PATH]=""; LVITEM lItem; // 중요! lItem.mask=LVIF_TEXT; // 기본 세팅(Text를 입력 알림) lItem.iItem=g_tcount; // 행 번호 lItem.iSubItem=0; // 열 번호 memset(szText, 0, MAX_PATH); sprintf_s(szText, "%x", 1); lItem.pszText=(LPSTR)szText; // 추가할 Text 세팅 m_list4->InsertItem(&lItem); // 첫 번째 Item은 반드시 InsertItem으로! for(int i=1;i<10; i++) { lItem.iSubItem=i; // 열 번호를 추가 (사전에 컬럼을 미리 갯수만큼 만들어둬야 함) sprintf_s(szText, "0x%08x", conbuffer[i-1]); lItem.pszText=(LPSTR)szText; m_list4->SetItem(&lItem); // 두 번째 Item부터는 SubItem이므로 SetItem으로! } g_tcount++; } | cs |
삭제
1 2 3 4 5 | m_list.DeleteAllItems(); // 전체 삭제 for(index=0; index<16; index++) { m_list->DeleteItem(0); // 0번 행을 지우면 1번이 0번으로 올라오므로... } | cs |
수정
1 2 3 4 5 6 7 8 9 10 11 12 13 | unsigned long row = 0; //행 번호 unsigned long column = 1; //열 번호 memset(szText, 0, MAX_PATH); sprintf_s(szText, "0x%08x", 54); m_list->SetItem(row, column, LVIF_TEXT, szText, NULL, NULL, NULL, NULL, NULL); // 반드시 SetItem 함수에 인자를 이런 식으로! /* 인자 설명 */ // 1번 인자(row) : 몇 번째 행 // 2번 인자(column) : 몇 번째 열 // 3번 인자(LVIF_TEXT) : mask를 나타내는데 text로 할것이므로... // 4번 인자(szText) : 변경하고자 하는 문자열 내용 // 5번 부터는 List Control에 Image를 넣고 할 때 사용하므로 패스! | cs |
검색
1 2 3 4 5 6 7 8 9 | DWORD Find_List(CListCtrl* m_list, LPSTR str) { LVFINDINFO lfi; char szText[512] = {0}; lfi.flags = LVFI_STRING; sprintf(szText, str); //조금만 바꾸면 유용하게 사용가능 lfi.psz = szText; return m_list->FindItem(&lfi, -1); // Index } | cs |
값 추출
1 2 3 4 5 6 7 | CString szText = NULL; // 문자열을 저장할 녀석 unsigned long row = 1; unsigned long column = 2; //int result; szText = m_list->GetItemText(row, column); //행열(1,2) 위치의 문자열을 가져와 저장 //result = strtol(szText, NULL, 16) 문자열이 아닌 정수 값이 필요한 경우, 이 녀석을 사용! | cs |
색 변경
차후에 추가...
'Programming > C' 카테고리의 다른 글
C++ 깔끔한 패턴 및 코딩 연습 백업 (0) | 2017.08.30 |
---|---|
Linux gcc Compile MakeFile (0) | 2016.11.20 |
단일 환형 연결리스트 구현 (0) | 2016.11.04 |
error LNK2001 오류 해결 방법 (0) | 2016.10.31 |
String 내부 알파벳 갯수 계산 (0) | 2016.09.15 |
댓글