Dialog기반에서 저장하는저장하는방법과 Listbox 서브클래싱방법에 대해서 질문있습니다.
티나
질문1)Dialog기반 프로그램에서
char szFilter[] = Tracer Data(*.PTH)|*.PTH|All Files(*.*)|*.*||; int a=0;
CFileDialog fileDlg(FALSE, pth, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter); if(IDOK == fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(), CFile::modeWrite|CFile::modeCreate); // 파일 읽기를 위한 CArchie 오브젝트 생성 CArchive ar(&file, CArchive::store); //Serialize 함수 호출 Serialize(ar);}
이런 식으로 구현되어있는 예제가 있어서 구현을 했는데요. CList에 저장되어잇는 데이터를 저장하기위해서
void CSerialDlg::OnClickedFilesave(){ // TODO: Add your control notification handler code here char szFilter[] = Tracer Data(*.PTH)|*.PTH|All Files(*.*)|*.*||; int a=0;
CFileDialog fileDlg(FALSE, pth, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter); if(IDOK == fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(), CFile::modeWrite|CFile::modeCreate); // 파일 읽기를 위한 CArchie 오브젝트 생성 CArchive ar(&file, CArchive::store); //Serialize 함수 호출 Serialize(ar); POSITION Seri; Seri = PList.GetHeadPosition(); CCData = PList.GetAt(Seri); for(a=0; aPList.GetCount(); a++) { ar CCData.NAME; ar CCData.AFFILIATION; ar CCData.ROBOT; ar CCData.SORT; CCData = PList.GetNext(Seri); } }}
이런 식으로 구현을해봤는데요. 저장 하는창은 뜨는데 파일이 생성되지 않네요.. 뭐가 문제일까요;;
질문2)Dialog기반의 프로그램에서 Listbox에 CList로 구현한 데이터를 띄우는 프로그램을 아래와 같이 만들었는데요.여기서 기본 Listbox는 저정도 크기의 폰트사이즈를 갖는데요. 이 폰트 사이즈를 좀 키우려고 하는데, 서브클래싱을 해야한다고 들었습니다. 열혈강의 책에 나와있는 서브클래싱을 봐도 어떤식으로 해야할지를 도통 모르겠습니다.