트리컨트롤이랑 버튼, 추가 전용 다이얼로그창 구현중인데




TV_INSERTSTRUCT tvStruct;

tvStruct.hParent = 0;

tvStruct.hInsertAfter = TVI_LAST;

tvStruct.item.mask = TVIF_TEXT;

tvStruct.item.pszText = _T("음악 루트");

m_hRoot = m_treeControl.InsertItem(&tvStruct);


이렇게 트리 초기화 완료했고, 다이얼로그창 초기화도 완료했어.




void CThaumielDlg::OnBn크으을릭edButtonNins()

{

FolInsert dlg;

if (dlg.DoModal()==IDOK)

{

TV_INSERTSTRUCT tvStruct;

UpdateData(TRUE);

if (!m_strSelectedNode.IsEmpty()) {

tvStruct.hParent = m_hSelectedNode;

tvStruct.hInsertAfter = TVI_LAST;

tvStruct.item.mask = TVIF_TEXT;

tvStruct.item.pszText = (LPWSTR)(LPCTSTR)m_strSelectedNode;

m_treeControl.InsertItem(&tvStruct);

m_treeControl.Expand(m_hSelectedNode, TVE_EXPAND);


}

else

{

AfxMessageBox(_T("폴더를 입력하세요."));

}

m_strSelectedNode.Empty();

UpdateData(FALSE);

}

}


그렇게 해서 위에 있는 것처럼 코드짜서 돌리는데

이상하게도 추가버튼 눌러서 창띄우고 확인버튼 누르면

입력값이랑 상관없이 닥치고 초기화 했을 때 입력해둔 음악 장르라는 노드만 자꾸 추가됨ㅡㅡ;;


전공서 예문 몇 번씩 봐도 모르겠더라;;

뭘 잘못한건지 집어줄수 있음?