void CExercise7_1Dlg::OnBnClkButtonAdd()

{

int nCount = m_listControl.GetItemCount();

LV_ITEM lvItem2;

UpdateData(TRUE);

AEDlg a;

if (a.DoModal() == MB_OK)

{

if (!a.m_strTitle.IsEmpty() && !a.m_strAlbum.IsEmpty() && !a.m_strArtist.IsEmpty() && !a.m_strEtc.IsEmpty() && !a.m_strGen.IsEmpty() && !a.m_strYear.IsEmpty())

{



lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 0;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strTitle;

m_listControl.InsertItem(&lvItem2);


lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 1;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strArtist;

m_listControl.InsertItem(&lvItem2);


lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 2;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strAlbum;

m_listControl.InsertItem(&lvItem2);


lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 3;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strGen;

m_listControl.InsertItem(&lvItem2);


lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 4;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strYear;

m_listControl.InsertItem(&lvItem2);



lvItem2.mask = LVIF_TEXT;

lvItem2.iItem = nCount;

lvItem2.iSubItem = 5;

lvItem2.pszText = (LPWSTR)(LPCTSTR)a.m_strEtc;

m_listControl.InsertItem(&lvItem2);





a.m_strTitle.Empty();

a.m_strAlbum.Empty();

a.m_strArtist.Empty();

a.m_strGen.Empty();

a.m_strYear.Empty();

a.m_strEtc.Empty();




UpdateData(FALSE);


}

else

{

MessageBox(_T("빈 칸 발생"), _T("잠깐"), MB_OK);

}

}



}



대충 코드 설명하자면


데이터를 추가하는 다이얼로그 창을 따로 띄워서

새로 뜬 다이얼로그 창에 입력한 내용들을 리스트에 저장하는 코드ㅇㅇ


근데 막상 실행시켜서 입력할거 다 입력하고 확인버튼 누르니까

리스트에 추가 자체가 안 되고, else부분 코드도 안 움직이던데


도대체 무슨 잘못을 했는지 모르겠다.











<추가>





// AEDlg.cpp : 구현 파일입니다.

//


#include "stdafx.h"

#include "Exercise7_1.h"

#include "AEDlg.h"

#include "afxdialogex.h"




// AEDlg 대화 상자입니다.


IMPLEMENT_DYNAMIC(AEDlg, CDialogEx)


AEDlg::AEDlg(CWnd* pParent /*=NULL*/)

: CDialogEx(IDD_DIALOG_ADD, pParent)

, m_strTitle(_T(""))

, m_strAlbum(_T(""))

, m_strEtc(_T(""))

, m_strGen(_T(""))

, m_strYear(_T(""))

, m_strArtist(_T(""))

{

}


AEDlg::~AEDlg()

{

}


void AEDlg::DoDataExchange(CDataExchange* pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT_SONG, m_strTitle);

DDX_Text(pDX, IDC_EDIT_ALB, m_strAlbum);

DDX_Text(pDX, IDC_EDIT_ETC, m_strEtc);

DDX_Text(pDX, IDC_EDIT_GEN, m_strGen);

DDX_Text(pDX, IDC_EDIT_YEAR, m_strYear);

DDX_Text(pDX, IDC_EDIT_ARTIST, m_strArtist);

}



BEGIN_MESSAGE_MAP(AEDlg, CDialogEx)

END_MESSAGE_MAP()



// AEDlg 메시지 처리기입니다.


그냥 텅텅빈 cpp파일
헤더파일도 저거랑 같은 상황이라고 보면 됨










참고중인 문제 올려봄


트리 연동은 따로 생각하는 중인데

시발 함수 언급 존나 안해두네 아오



문제랑 비교했을 때 바뀐점 말하자면


1. 가상대학교 -> 루트로 변경

2. 학과들 -> 폴더1~폴더3으로 변경

3. 리스트 컬럼 -> 제목, 아티스트, 앨범, 장르, 연도, 기타 이렇게 6개로 늘림


이 이상 없음.