티스토리 뷰
목차
MFC 폴더 탐색기 예제 소스, 윈도우 다이얼로그 5개
MFC 폴더 탐색기 다이얼로그 예제입니다.
CodeProject를 비롯한 국내외 사이트의 예제 중 쓸만한 것 4+1종입니다. 전체 프로젝트랑 실행 파일을 첨부했으니 참조하세요. 소스 코드는 알아서들 분석해 보아요 ㅎ 먼저 소개할 예제는 SHFileOperation을 사용하지 않고 파일과 폴더의 복사, 이동, 삭제 구현한 다이얼로그 소스입니다.
MFC 폴더 탐색기 예제 1
출처 - Copy, Move and Delete files and directories without using SHFileOperation [클릭]
프로젝트 - FileOperations_Src.zip
데모소스 - FileOperations_Demo.zip
[윈도우 다이얼로그] MFC 탐색기 - NONE SHFileOperation
OverwriteMode를 설정하면
- 복사하려는 폴더에 복사하려는 파일이나 폴더가 존재하면 덮어 씁니다.
OverwriteMode를 설정하지 않으면
- 복사하려는 폴더에 새파일들이 생성됩니다.
[gui 프로그래밍] MFC 탐색기 - NONE SHFileOperation2
복사하려는 폴더에 test.txt란 파일이 이미 존재한다면, "Copy (n)"순으로 새로운 파일이 생성됩니다.
AskIfReadonly를 설정하면
- 읽기 전용의 파일을 삭제할 때, 경고 메세지가 뜹니다.
AskIfReadonly를 설정하지 않으면
- 경고 메세지 없이 삭제됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include "stdafx.h" #include "FileOperations.h" CFileOperation fo; fo.SetOverwriteMode(false); if (!fo.Copy("c:\\source", "c:\\dest")) { fo.ShowError(); // 에러 메세지로 폴더를 확인할 수 있습니다 } fo.SetAskIfReadOnly(); if (!fo.Delete("c:\\source")) { fo.ShowError(); // 에러 메세지로 폴더를 확인할 수 있습니다 } | cs |
이외에 다른 에러 메세지 출력 함수로는, GetErrorCode(), GetErrorString(), ShowError()가 있습니다.
마지막으로 기본적으로 제공되는 함수 리스트는 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | bool Delete(CString sPathName); bool Copy(CString sSource, CString sDest); bool Replace(CString sSource, CString sDest); bool Rename(CString sSource, CString sDest); CString GetErrorString(); DWORD GetErrorCode(); void ShowError(); void SetAskIfReadOnly(bool bAsk = true); bool IsAskIfReadOnly(); void SetOverwriteMode(bool bOverwrite = false); bool IsOverwriteMode(); bool IsAborted(); | cs |
아래부터는 기본적인 예제 4종입니다.
MFC 폴더 탐색기 예제 2
프로젝트 - FolderDlg_Proj.zip
실행파일 - FolderDlg.exe
[윈도우 다이얼로그] MFC 탐색기 - CFolderDialog Demo
MFC 폴더 탐색기 예제 3
프로젝트 - CustomBrowseFolders.zip
실행파일 - CustomBrowseFolders.exe
[gui 프로그래밍] MFC 탐색기 - CustomBrowseFolders
MFC 폴더 탐색기 예제 4
프로젝트 - GetFolder_Demo.zip
실행파일 - GetFolder_Demo.exe
[윈도우 다이얼로그] MFC 탐색기 - GetFolder
MFC 폴더 탐색기 예제 5
프로젝트 - SHBrowseForFolder.zip
실행파일 - SHBrowseForFolder.exe
[gui 프로그래밍] MFC 탐색기 - SHBrowseForFolder
세번째에 소개된 GetFolder_Demo 프로젝트는 cpp 파일 하나로 구성이 되어 있으니, 코드를 보면서 감을 잡아 보세요. 복잡하지 않습니다.
관련 글
▷ MFC dll에서 다이얼로그 생성이 안 될때 (윈도우 Dialog)
▷ MFC 다이얼로그를 항상 위로 설정 (최상위 고정)
▷ MFC 스크롤바, 다이얼로그 예제 (동적 Scroll Bar)
ⓒ written by vicddory
MFC 폴더 탐색기 예제 소스, 윈도우 다이얼로그 5개