다음을 통해 공유


CFileDialog 클래스

파일 열기 또는 파일 저장 작업을 사용 하 여 일반 대화 상자를 캡슐화 합니다.

class CFileDialog : public CCommonDialog

Members

dk77e5e7.collapse_all(ko-kr,VS.110).gifPublic 생성자

이름

설명

CFileDialog::CFileDialog

CFileDialog 개체를 생성합니다.

dk77e5e7.collapse_all(ko-kr,VS.110).gifPublic 메서드

이름

설명

CFileDialog::AddCheckButton

대화 상자에 확인 단추를 추가합니다.

CFileDialog::AddComboBox

대화 상자에 콤보 상자를 추가합니다.

CFileDialog::AddControlItem

컨테이너 컨트롤이 대화 상자에서에 항목을 추가 합니다.

CFileDialog::AddEditBox

입력란 대화 상자를 추가합니다.

CFileDialog::AddMenu

대화 상자에 있는 메뉴를 추가합니다.

CFileDialog::AddPlace

오버로드.폴더 목록을 열거나 항목을 저장 하는 사용자에 대해 사용할 수 있는 배치를 추가 합니다.

CFileDialog::AddPushButton

대화 상자에 단추를 추가 합니다.

CFileDialog::AddRadioButtonList

옵션 단추 (라디오 단추 라고도 함) 그룹 대화에 추가합니다.

CFileDialog::AddSeparator

구분선 대화 상자를 추가합니다.

CFileDialog::AddText

대화 상자에 텍스트 콘텐츠를 추가합니다.

CFileDialog::ApplyOFNToShellDialog

상태 업데이트는 CFileDialog 매개 변수와 저장 된 플래그와 일치 하는 m_ofn 멤버 변수.

CFileDialog::DoModal

대화 상자를 표시 하 고 선택할 수 있습니다.

CFileDialog::EnableOpenDropDown

드롭다운 목록에서 활성화는 열기 또는 저장 단추 대화 상자에서.

CFileDialog::EndVisualGroup

요소가 시각적 그룹 대화 상자에서 추가 중지합니다.

CFileDialog::GetCheckButtonState

대화 상자에서 확인 단추 (확인란)의 현재 상태를 가져옵니다.

CFileDialog::GetControlItemState

대화 상자에 컨테이너 컨트롤에 있는 항목의 현재 상태를 가져옵니다.

CFileDialog::GetControlState

현재 가시성을 가져와서 지정 된 컨트롤 상태를 사용할 수 있습니다.

CFileDialog::GetEditBoxText

편집 상자 컨트롤에서 현재 텍스트를 가져옵니다.

CFileDialog::GetFileExt

선택한 파일의 확장명을 반환합니다.

CFileDialog::GetFileName

선택한 파일의 파일 이름을 반환합니다.

CFileDialog::GetFileTitle

선택한 파일의 제목을 반환합니다.

CFileDialog::GetFolderPath

탐색기 스타일에 대 한 현재 열려 있는 폴더 또는 디렉터리의 경로 검색 합니다. 열기 또는 으로 저장 공용 대화 상자.

CFileDialog::GetIFileDialogCustomize

내부 COM 개체에 대 한 사용자 지정 검색 CFileDialog 개체입니다.

CFileDialog::GetIFileOpenDialog

내부 COM 개체에 대 한 검색은 CFileDialog 로 사용 하는 열기 파일 대화 상자.

CFileDialog::GetIFileSaveDialog

내부 COM 개체에 대 한 검색은 CFileDialog 로 사용 되는 저장 파일 대화 상자.

CFileDialog::GetNextPathName

다음 선택한 파일의 전체 경로 반환합니다.

CFileDialog::GetOFN

검색은 OPENFILENAME 의 구조는 CFileDialog 개체입니다.

CFileDialog::GetPathName

선택한 파일의 전체 경로 반환합니다.

CFileDialog::GetReadOnlyPref

선택한 파일을 읽기 전용 상태로 반환합니다.

CFileDialog::GetResult

사용자는 대화 상자에서 변경한 선택 항목을 가져옵니다.

CFileDialog::GetResults

사용자의 선택 사항을 여러 항목 선택 허용 대화 상자를 가져옵니다.

CFileDialog::GetSelectedControlItem

지정 된 컨테이너 컨트롤 대화 상자에서 특정 항목을 가져옵니다.

CFileDialog::GetStartPosition

파일 이름 목록에 있는 첫 번째 요소의 위치를 반환 합니다.

CFileDialog::HideControl

탐색기 스타일에서 지정 된 컨트롤을 숨기 열기 또는 으로 저장 공용 대화 상자.

CFileDialog::IsPickFoldersMode

결정은 현재 대화 상자에서 폴더 선택 모드입니다.

CFileDialog::MakeProminent

그를 둘러 위치 대화 상자에서 컨트롤을 다른 추가 컨트롤을 비교.

CFileDialog::RemoveControlItem

컨테이너 컨트롤의 대화 상자에서에서 항목을 제거 합니다.

CFileDialog::SetCheckButtonState

확인 단추 (확인란)의 현재 상태 대화 상자에서 설정합니다.

CFileDialog::SetControlItemState

컨테이너 컨트롤이 대화 상자에 있는 항목의 현재 상태를 설정 합니다.

CFileDialog::SetControlItemText

컨트롤 항목의 텍스트를 설정합니다.예를 들어 라디오 단추 또는 메뉴에서 항목을 포함 하는 텍스트입니다.

CFileDialog::SetControlLabel

단추 텍스트는 편집 상자 레이블 등의 컨트롤과 관련 된 텍스트를 설정 합니다.

CFileDialog::SetControlState

현재 표시 여부를 설정 하 고 지정 된 컨트롤 상태를 사용할 수 있습니다.

CFileDialog::SetControlText

탐색기 스타일에 지정 된 컨트롤의 텍스트를 설정 하는 열기 또는 으로 저장 공용 대화 상자.

CFileDialog::SetDefExt

탐색기 스타일을 설정 하는 기본 파일 이름 확장명 열기 또는 으로 저장 공용 대화 상자.

CFileDialog::SetEditBoxText

현재 텍스트 편집 상자 컨트롤에 설정합니다.

CFileDialog::SetProperties

항목을 저장 하는 데 기본 값을 정의 하는 속성 저장소를 제공 합니다.

CFileDialog::SetSelectedControlItem

옵션 단추 그룹 또는 대화 상자에 콤보 상자에서 특정 항목의 선택된 된 상태를 설정 합니다.

CFileDialog::SetTemplate

대화 상자 템플릿을 설정 하는 CFileDialog 개체입니다.

CFileDialog::StartVisualGroup

비주얼 그룹 대화에서를 선언합니다.후속 메서드를 호출 하는 "add" 요소만이 그룹에 추가 합니다.

CFileDialog::UpdateOFNFromShellDialog

저장 된 데이터를 업데이트 하는 m_ofn 파일 대화 상자의 현재 상태와 일치 하는 멤버 변수.

dk77e5e7.collapse_all(ko-kr,VS.110).gifProtected 메서드

이름

설명

CFileDialog::OnButtonClicked

단추를 클릭할 때 호출 됩니다.

CFileDialog::OnCheckButtonToggled

확인란 선택/선택 취소 될 때 호출 됩니다.

CFileDialog::OnControlActivating

컨트롤이 활성화 될 때 호출 됩니다.

CFileDialog::OnFileNameChange

처리 된 WM_NOTIFY CDN_SELCHANGE 메시지입니다.

CFileDialog::OnFileNameOK

대화 상자에 입력 한 파일 이름을 확인 합니다.

CFileDialog::OnFolderChange

처리 된 WM_NOTIFY CDN_FOLDERCHANGE 메시지입니다.

CFileDialog::OnInitDone

처리 된 WM_NOTIFY CDN_INITDONE 메시지입니다.

CFileDialog::OnItemSelected

컨테이너 항목을 선택할 때 호출 됩니다.

CFileDialog::OnLBSelChangedNotify

파일 선택 영역을 변경할 때 사용자 지정 작업을 수행할 수 있습니다.

CFileDialog::OnShareViolation

핸들 위반을 공유합니다.

CFileDialog::OnTypeChange

처리 된 WM_NOTIFY CDN_TYPECHANGE 메시지입니다.

dk77e5e7.collapse_all(ko-kr,VS.110).gif공용 데이터 멤버

이름

설명

CFileDialog::m_ofn

Windows OPENFILENAME 구조체입니다.액세스 기본 파일 대화 상자 매개 변수를 제공합니다.

설명

공용 파일 대화 상자를 사용 하 여 파일 선택 대화 상자에서 예를 들어, 구현할 수 파일 열기으로 저장을 Windows 표준을 일관 된 방식으로.

사용할 수 있습니다 CFileDialog 로 제공 되는 생성자를 또는 사용자 지정 대화 상자 클래스를 파생 시킬 수 있습니다 CFileDialog 및 필요에 맞게 생성자를 작성 합니다.두 경우 모두에서 파생 된 때문에 이러한 대화 상자 표준 MFC 대화 상자와 마찬가지로 동작 합니다의 CCommonDialog 클래스.CFileDialogCOMMDLG에 의존합니다.Windows에 포함 된 DLL 파일입니다.

모양과 기능을 둘 다은 CFileDialog 와 Windows Vista 이전 버전의 Windows에서 다릅니다.기본 CFileDialog 자동으로 새를 사용 Windows Vista 프로그램이 컴파일될 경우 코드를 변경 하 고 아래에서 실행 하지 않고 스타일 Windows Vista.사용 된 bVistaStyle 이 자동 업데이트를 수동으로 재정의 하려면 생성자에서 매개 변수입니다.자동 업데이트에 사용자 지정 된 대화 상자입니다.자신이 새 스타일으로 변환 되지 않습니다.생성자에 대 한 자세한 내용은 CFileDialog::CFileDialog.

[!참고]

다른 제어 ID 시스템 Windows Vista 에서 이전 버전의 Windows 사용 하는 경우는 CFileDialog.모든 참조를 업데이트 해야 CFileDialog Windows의 이전 버전에서 프로젝트를 이식할 수 있습니다 전에 코드에서 컨트롤입니다.

일부 CFileDialog 에서 메서드 지원 되지 않습니다 Windows Vista.메서드가 지원 되는지 여부에 대 한 내용은 개별 메서드 항목을 확인 하십시오.또한 상속 된 다음 함수에서 사용할 수 없는 Windows Vista.

Windows 메시지에는 CFileDialog 클래스를 사용 중인 운영 체제에 따라 달라 집니다.예를 들어, Windows XP를 지원 하지 않는 CDialog::OnCancelCDialog::OnOK 에 있는 CFileDialog 클래스.그러나 Windows Vista 를 지원 하지.메시지가 생성 되 고 수신 되는 순서에 대 한 자세한 내용은 CFileDialog 샘플: 로깅 이벤트 순서.

사용 하는 CFileDialog 개체를 사용 하 여 개체를 처음 만들을 CFileDialog 생성자입니다.대화 상자 생성 된 후 설정 하거나 모든 값을 수정할 수는 CFileDialog::m_ofn 구조체 값 또는 대화 상자 컨트롤의 상태를 초기화 합니다.m_ofn 구조체 형식인 OPENFILENAME.자세한 내용은 파일 이름 에서 구조체의 Windows SDK.

대화 상자의 컨트롤을 초기화 한 후에 호출 된 CFileDialog::DoModal 메서드는 대화 상자를 표시 하려면 상자의 경로 및 파일 이름을 사용자가 입력할 수 있도록 합니다.DoModal사용자가 확인 (IDOK) 또는 취소 (IDCANCEL) 단추를 클릭 여부를 반환 합니다.경우 DoModal IDOK, 반환 중 하나를 사용할 수 있는 CFileDialog 사용자가 추가 정보를 검색할 수 있는 공용 멤버 함수.

[!참고]

아래 Windows Vista를 여러 번 호출 IFileDialog::SetFileTypes 오류가 발생 합니다.두 번째 호출 SetFileTypes 의 인스턴스에 대 한 CFileDialog 반환 합니다 E_UNEXPECTED 에서 Windows Vista.일부 CFileDialog 메서드 호출 함수 SetFileTypes.예를 들어, 두 호출이 CFileDialog::DoModal 의 동일한 인스턴스를 CFileDialog 생성 ASSERT.

CFileDialog공유 위반, 파일 이름 유효성 검사 및 목록 상자 변경 알림 사용자 지정 처리를 수행할 수 있는 몇 가지 보호 된 멤버를 포함 합니다.이러한 보호 된 멤버는 대부분의 응용 프로그램 기본 처리를 자동으로 수행 되므로 사용 하지 않아도 되는 콜백 함수입니다.표준 가상 함수 때문에 이러한 함수에 대 한 메시지 맵 엔트리는 필요 하지 않습니다.

Windows를 사용할 수 있습니다 CommDlgExtendedError 함수 대화 상자를 초기화 하는 동안 오류가 발생 여부를 확인 하 고 오류에 대 한 자세한 합니다.

파괴의 CFileDialog 개체는 자동으로 처리 합니다.호출 하지 않아도 CDialog::EndDialog.

여러 파일을 선택할 수 있게 하려면 설정 된 OFN_ALLOWMULTISELECT 플래그를 호출 하기 전에 DoModal.파일 이름 여러 개 반환 된 목록을 수용 하기 위해 자신의 파일 이름 버퍼를 제공 해야 합니다.이렇게 바꾸어 m_ofn.lpstrFile 생성 후 버퍼 포인터와 사용자를 할당는 CFileDialog를 호출 하기 전에 DoModal.

또한, 설정 해야 m_ofn.nMaxFile 포인터가 가리키는 버퍼의 문자 수를 사용 하 여 m_ofn.lpstrFile.선택 하는 파일의 최대 수를 설정 하는 경우 n, 필요한 버퍼 크기는 n * (_MAX_PATH + 1) + 1.선택한 위치에 파일이 있는 폴더의 경로를 버퍼에서 반환 된 첫 번째 항목을입니다.에 대 한 Windows Vista-디렉터리 및 파일 이름 문자열 스타일 대화 상자는 null로 끝나는, 마지막 파일 이름 뒤에 추가 null 문자를 사용 합니다.이 형식을 공백이 있는 긴 파일 이름을 반환 하는 탐색기 스타일 대화 상자를 있습니다.이전 스타일 대화 상자에 대 한 디렉터리 및 파일 이름 문자열 공백으로 구분 된 및 짧은 파일 이름을 파일 이름에 공백을 사용 하 여이 함수를 사용 합니다.

다음 예제에서는 버퍼를 사용 하 여 검색 하 고 여러 개의 파일 이름을 나열 하는 방법을 보여 줍니다.

#define MAX_CFileDialog_FILE_COUNT 99
#define FILE_LIST_BUFFER_SIZE ((MAX_CFileDialog_FILE_COUNT * (MAX_PATH + 1)) + 1)

CString fileName;
wchar_t* p = fileName.GetBuffer( FILE_LIST_BUFFER_SIZE );
CFileDialog dlgFile(TRUE);
OPENFILENAME& ofn = dlgFile.GetOFN( );
ofn.Flags |= OFN_ALLOWMULTISELECT;
ofn.lpstrFile = p;
ofn.nMaxFile = FILE_LIST_BUFFER_SIZE;

dlgFile.DoModal();
fileName.ReleaseBuffer();

wchar_t* pBufEnd = p + FILE_LIST_BUFFER_SIZE - 2;
wchar_t* start = p;
while( ( p < pBufEnd ) && ( *p ) )
  p++;
if( p > start )
{
  _tprintf(_T("Path to folder where files were selected:  %s\r\n\r\n"), start );
  p++;

  int fileCount = 1;
  while( ( p < pBufEnd ) && ( *p ) )
  {
    start = p;
    while( ( p < pBufEnd ) && ( *p ) )
      p++;
    if( p > start )
      _tprintf(_T("%2d. %s\r\n"), fileCount, start );
    p++;
    fileCount++;
  }
}

파일 이름을 여러 개 선택 하면 사용자에 게 응답의 버퍼 크기를 변경 하려면 새 클래스를 파생 해야 합니다 CFileDialog 및 재정의 된 CFileDialog::OnFileNameChange 메서드.

새 클래스를 파생 하는 경우 CFileDialog, 메시지 맵을 사용 하 여 모든 메시지를 처리할 수 있습니다.기본 메시지 처리를 확장 하는 클래스를 CFileDialog가 새 클래스에 메시지 맵을 추가 하 고 새 메시지에 대 한 멤버 함수를 제공 합니다.사용자 지정 대화 상자 후크 함수를 제공 하지 않아도 됩니다.

대화 상자를 사용자 정의 하려면에서 클래스를 파생 합니다. CFileDialog, 사용자 지정 대화 상자 템플릿을 제공 하 고 확장된 된 컨트롤에서 알림 메시지를 처리 하는 메시지 맵에 추가 합니다.기본 클래스에는 처리 되지 않은 메시지를 전달 합니다.후크 함수를 사용자 지정 하지 않아도 됩니다.

사용 중인의 Windows Vista 의 스타일은 CFileDialog, 메시지 맵 및 대화 상자 템플릿을 사용할 수 없습니다.대신 유사한 기능에 대 한 COM 인터페이스를 사용 해야 합니다.

CFileDialog를 사용하는 방법에 대한 자세한 내용은 공용 대화 상자 클래스를 참조하십시오.

상속 계층 구조

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFileDialog

요구 사항

**헤더:**afxdlgs.h

참고 항목

참조

CCommonDialog 클래스

계층 구조 차트