void CDrawGraphApp::OnFileOpen() { char szFilter[] = "TEXT File(*.txt)|*.txt| Allfile(*.*)|*.*||"; //Filter 설정 CFileDialog m_FileOpenDialog(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, szFilter); //MultiSelect 적용됨, if( m_FileOpenDialog.DoModal()==IDOK) //Ok { POSITION FilePosition = m_FileOpenDialog.GetStartPosition(); //Multi Choice를 넘겨줌 while( FilePosition ) OpenDocumentFile( m_FileOpenDialog.GetNextPathName(FilePosition) ); } }
→ OnfileOpen재정의 후에 (Application) WinApp의 OnfileOpen의 Message Map을 주석 처리 해야함. 이것때문에 많이 힘들었음
BOOL CDrawGraphDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; CPoint Temp; fstream File; File.open(lpszPathName,ios::in); while(File>>Temp.x>>Temp.y) { aSamples.Add(Temp); } File.close(); return TRUE; }
→ 이건 자기 스스로 적용시키는 부분인듯 나는 점을 읽어 오는 부분이라 이렇게 함
Doc Class에서이렇게 하니깐 윈도우 프로그램의 기본적인 Document&View 패턴이 적용 쉬운듯 함(Observe Pattern?)