게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[질문]mfc 에디트컨트롤과 리스트컨트롤에 관한 질문입니다.
게시물ID : programmer_14796짧은주소 복사하기
작성자 : 리플래시
추천 : 0
조회수 : 902회
댓글수 : 4개
등록시간 : 2015/12/05 11:05:39
옵션
  • 베스트금지
  • 본인삭제금지
  • 외부펌금지
LV_COLUMN lvColumn;
LPWSTR list[7] = {_T("순번"),_T("1번"),_T("2번"),_T("3번"),_T("4번"),_T("5번"),_T("6번")};
int nWidth[7] = {38, 42, 42, 42, 42, 42, 42};

for(int i=0; i<7; i++){
lvColumn.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvColumn.fmt = LVCFMT_CENTER;
lvColumn.pszText = list[i];
lvColumn.iSubItem =  i;
lvColumn.cx = nWidth[i];
m_listNumber.InsertColumn(i, &lvColumn);

이런 식으로 리스트 컨트롤에 
1111.jpg

입력하여 값을 넣었습니다.

문제는 이 부분인데

2222.jpg

왼측부터 우측으로 1~10으로 맴버변수를 입력하고 출력하려고 하는데

경우의 수를 사용하는 함수도 잘 모르겠습니다.

<<<   입   력   >>>
void CtestDlg::OnClickedButtonEnter()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

int nCount = m_listNumber.GetItemCount();

LV_ITEM lvItem;
CString strCount;

UpdateData(TRUE);
if(!m_strNum1.IsEmpty())
{
lvItem.mask = LVIF_TEXT; //순번 : 입력되어 있는 행마다 카운트를 넣어준다.
lvItem.iItem = nCount;
lvItem.iSubItem = 0;
strCount.Format(_T("%d"), nCount+1);
lvItem.pszText =(LPWSTR)(LPCTSTR)strCount;
m_listNumber.InsertItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 1;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum1;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 2;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum2;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 3;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum3;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 4;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum4;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 5;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum5;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 6;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum6;
m_listNumber.SetItem(&lvItem);

/*lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 1;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum7;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 1;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum8;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 1;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum9;
m_listNumber.SetItem(&lvItem);

lvItem.mask = LVIF_TEXT;
lvItem.iItem = nCount;
lvItem.iSubItem = 1;
lvItem.pszText = (LPWSTR)(LPCTSTR)m_strNum10;
m_listNumber.SetItem(&lvItem);*/
}
}

<<<   초  기  화    >>>

void CtestDlg::OnClickedButtonReset()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
BOOL DeleteAllItem();

m_listNumber.DeleteAllItems();
ASSERT(m_listNumber.GetItemCount() == 0);
}

초기화 부분을 잘해결했는데

입력에서 교과서도 찾아보고 검색도 했는데 제가 좀 미숙해서

찾기가 힘듭니다ㅠㅠ

자세히 알려주실 필요 없습니다. 힌트만이라도 주시면 감사합니다

부탁드려요
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호