MFC 폴더 탐색기 예제 소스, 윈도우 다이얼로그 5개

MFC 폴더 탐색기 예제 소스, 윈도우 다이얼로그 5개


MFC 폴더 탐색기 다이얼로그 예제입니다.


CodeProject를 비롯한 국내외 사이트의 예제 중 쓸만한 것 4+1종입니다. 전체 프로젝트랑 실행 파일을 첨부했으니 참조하세요. 소스 코드는 알아서들 분석해 보아요 ㅎ 먼저 소개할 예제는 SHFileOperation을 사용하지 않고 파일과 폴더의 복사, 이동, 삭제 구현한 다이얼로그 소스입니다.




MFC 폴더 탐색기 예제 1


MFC 탐색기 - NONE SHFileOperation[윈도우 다이얼로그] MFC 탐색기 - NONE SHFileOperation


OverwriteMode를 설정하면

- 복사하려는 폴더에 복사하려는 파일이나 폴더가 존재하면 덮어 씁니다.


OverwriteMode를 설정하지 않으면

- 복사하려는 폴더에 새파일들이 생성됩니다.


MFC 탐색기 - NONE SHFileOperation2[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 탐색기 - CFolderDialog Demo


MFC 폴더 탐색기 예제 3

프로젝트 CustomBrowseFolders.zip

실행파일 CustomBrowseFolders.exe


MFC 탐색기 - CustomBrowseFolders[gui 프로그래밍] MFC 탐색기 - CustomBrowseFolders


MFC 폴더 탐색기 예제 4

프로젝트 GetFolder_Demo.zip

실행파일 GetFolder_Demo.exe

MFC 탐색기 - GetFolder[윈도우 다이얼로그] MFC 탐색기 - GetFolder


MFC 폴더 탐색기 예제 5

프로젝트 SHBrowseForFolder.zip

실행파일 SHBrowseForFolder.exe


MFC 탐색기 - SHBrowseForFolder[gui 프로그래밍] MFC 탐색기 - SHBrowseForFolder


세번째에 소개된 GetFolder_Demo 프로젝트는 cpp 파일 하나로 구성이 되어 있으니, 코드를 보면서 감을 잡아 보세요. 복잡하지 않습니다.



관련 글

MFC dll에서 다이얼로그 생성이 안 될때 (윈도우 Dialog)

MFC 다이얼로그를 항상 위로 설정 (최상위 고정)

MFC 스크롤바, 다이얼로그 예제 (동적 Scroll Bar)




ⓒ written by vicddory

MFC 폴더 탐색기 예제 소스, 윈도우 다이얼로그 5개

댓글(0)

Designed by JB FACTORY