// Document의 이벤트에서 ID_File_OPEN, ID_File_SAVE를
// 선택하여 추가한 다음, void OnOpen(CString filename)을 추가하여 입력한다.
void CSam2editDoc::OnFileOpen()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
LPCTSTR lpszFilter = _T( "txt파일(*.txt)*.txt모든파일*.*" );
/// 파일 공용컨트롤 대화상자 인스턴스 생성.. 첫번째 인자가 TRUE 이면 읽기 FALSE 이면 쓰기.
CFileDialog FileDlg( TRUE, _T( "txt" ), NULL, OFN_HIDEREADONLY
OFN_OVERWRITEPROMPT OFN_NOCHANGEDIR,
lpszFilter, NULL );
if( FileDlg.DoModal() == IDOK ) // 오픈 OK버튼을 눌럿을때..
{
OnOpen( FileDlg.GetFileName() ); // 별도로 만든 OnOpen 함수 호출한다.
}
}
void CSam2editDoc::OnOpen(CString filename)
{
TCHAR szbuffer[20];
CFile m_file( filename, CFile::modeRead );
m_file.Read( szbuffer, 20 );
/* 여기에 처리할 내용 추가 */
m_file.Close; // 파일을 닫고
SetTitle( filename ); // 파일이름을 타이틀바에 달아준다.
}
void CSam2editDoc::OnFileSave()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
LPCTSTR lpszFilter = _T( "txt파일(*.txt)*.txt모든파일*.*") ;
/// 파일 공용컨트롤 대화상자 인스턴스 생성.. 첫번째 인자가 TRUE 이면 읽기 FALSE 이면 쓰기.
CFileDialog FileDlg( FALSE, _T( ".txt" ), NULL, OFN_HIDEREADONLY
OFN_OVERWRITEPROMPT, lpszFilter, NULL );
if( FileDlg.DoModal() == IDOK ) // 세이브 OK버튼 눌럿을때..
{
OnSave( FileDlg.GetFileName()) ; // 별도로 만든 OnSave 함수 호출한다.
}
}
void CSam2editDoc::OnSave(CString filename)
{
CFile m_file( filename, CFile::modeWrite CFile::modeCreate ); // 쓰기모드가 아니면 생성한다.
/* 여기에 처리할 내용 추가 */
m_file.Close(); // 파일을 닫고
SetTitle( filename ); // 파일이름 타이틀 바에 달아준다.
SetModifiedFlag( FALSE ); // 갱신이 일어났는지 검사를 해제한다.
}
void CSam2editView::OnLButtonDown(UINT nFlags, CPoint point)
{
CSam2editDoc *pDoc = GetDocument();
pDoc->SetModifiedFlag(); // 갱신이 일어나는지 검사..
CView::OnLButtonDown(nFlags, point);
}
/*
SetModifiedFlag()
파라메터를 안넣으면 디폴트 값으로 TRUE이며, 갱신이 일어났는지 검사를 한다.
데이터 값이 수정된 후에 저장할 것인지 묻지 않고 바로 종료된다.
문서에 갱신이 일어난 후에 저장할 것인지 확인창이 뜨게 하는 것이 좋다.
*/
// 선택하여 추가한 다음, void OnOpen(CString filename)을 추가하여 입력한다.
void CSam2editDoc::OnFileOpen()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
LPCTSTR lpszFilter = _T( "txt파일(*.txt)*.txt모든파일*.*" );
/// 파일 공용컨트롤 대화상자 인스턴스 생성.. 첫번째 인자가 TRUE 이면 읽기 FALSE 이면 쓰기.
CFileDialog FileDlg( TRUE, _T( "txt" ), NULL, OFN_HIDEREADONLY
OFN_OVERWRITEPROMPT OFN_NOCHANGEDIR,
lpszFilter, NULL );
if( FileDlg.DoModal() == IDOK ) // 오픈 OK버튼을 눌럿을때..
{
OnOpen( FileDlg.GetFileName() ); // 별도로 만든 OnOpen 함수 호출한다.
}
}
void CSam2editDoc::OnOpen(CString filename)
{
TCHAR szbuffer[20];
CFile m_file( filename, CFile::modeRead );
m_file.Read( szbuffer, 20 );
/* 여기에 처리할 내용 추가 */
m_file.Close; // 파일을 닫고
SetTitle( filename ); // 파일이름을 타이틀바에 달아준다.
}
void CSam2editDoc::OnFileSave()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
LPCTSTR lpszFilter = _T( "txt파일(*.txt)*.txt모든파일*.*") ;
/// 파일 공용컨트롤 대화상자 인스턴스 생성.. 첫번째 인자가 TRUE 이면 읽기 FALSE 이면 쓰기.
CFileDialog FileDlg( FALSE, _T( ".txt" ), NULL, OFN_HIDEREADONLY
OFN_OVERWRITEPROMPT, lpszFilter, NULL );
if( FileDlg.DoModal() == IDOK ) // 세이브 OK버튼 눌럿을때..
{
OnSave( FileDlg.GetFileName()) ; // 별도로 만든 OnSave 함수 호출한다.
}
}
void CSam2editDoc::OnSave(CString filename)
{
CFile m_file( filename, CFile::modeWrite CFile::modeCreate ); // 쓰기모드가 아니면 생성한다.
/* 여기에 처리할 내용 추가 */
m_file.Close(); // 파일을 닫고
SetTitle( filename ); // 파일이름 타이틀 바에 달아준다.
SetModifiedFlag( FALSE ); // 갱신이 일어났는지 검사를 해제한다.
}
void CSam2editView::OnLButtonDown(UINT nFlags, CPoint point)
{
CSam2editDoc *pDoc = GetDocument();
pDoc->SetModifiedFlag(); // 갱신이 일어나는지 검사..
CView::OnLButtonDown(nFlags, point);
}
/*
SetModifiedFlag()
파라메터를 안넣으면 디폴트 값으로 TRUE이며, 갱신이 일어났는지 검사를 한다.
데이터 값이 수정된 후에 저장할 것인지 묻지 않고 바로 종료된다.
문서에 갱신이 일어난 후에 저장할 것인지 확인창이 뜨게 하는 것이 좋다.
*/
덧글을 달아 주세요