다음을 통해 공유


일반 대화 상자 라이브러리

파일 열기, 색 값 선택 및 문서 인쇄 등의 일반적인 애플리케이션 작업을 수행하는 데 필요한 대화 상자 집합이 공통 대화 상자 라이브러리에 포함되어 있습니다. 애플리케이션의 사용자 인터페이스에 대한 일관된 접근 방식을 구현하기 위해 일반적인 대화 상자를 사용할 수 있습니다. 이를 통해 애플리케이션에 대한 사용자 인터페이스 동작을 학습하기 위해 사용자가 소비하는 노력을 줄일 수 있습니다.

일반적인 대화 상자를 이 섹션에서 설명합니다. 여기에는 열기다른 이름으로 저장 파일 대화 상자, 찾기바꾸기 편집 대화 상자, 인쇄, 인쇄 설정, 인쇄 속성 시트페이지 설정 인쇄 대화 상자, 그리고 글꼴 대화 상자가 포함됩니다.

참고 항목

Windows Vista부터, 열기다른 이름으로 저장 일반 대화 상자가 일반 항목 대화 상자로 대체되었습니다. 이러한 대화 상자 대신, 공통 대화 상자 라이브러리에 공통 항목 대화 상자 API를 사용하는 것이 권장됩니다.

섹션 내용

속성 설명
일반 대화 상자 유형 다른 대화 상자에 관하여 설명합니다.
일반 대화 상자 초기화 플래그 플래그를 사용하여 일반 대화 상자의 동작 및 모양을 수정하는 방법에 관하여 설명합니다.
사용자 지정 일반 대화 상자 일반 대화 상자의 사용법에 관하여 설명합니다.
일반 대화 상자 사용 일반 대화 상자를 호출하는 작업에 관하여 다룹니다.
일반 대화 상자 참조 API 참조를 포함합니다.

Functions

속성 설명
CCHookProc 대화 상자의 기본 대화 상자 프로시저에 관한 메시지나 알림을 받습니다. 이는 ChooseColor 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다.
CFHookProc 글꼴 대화 상자의 기본 대화 상자 프로시저에 관한 메시지나 알림을 받습니다. 이는 ChooseFont 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 프로시저입니다.
ChooseColor 사용자가 색을 선택할 수 있도록 하는 대화 상자를 만듭니다.
ChooseFont 사용자가 논리 글꼴의 특성을 선택할 수 있도록 하는 글꼴 대화 상자를 만듭니다. 글꼴 패밀리 및 관련 글꼴 스타일, 점 크기, 효과(밑줄, 취소선 및 텍스트 색) 및 스크립트(또는 문자 집합)가 이러한 특성에 포함됩니다.
CommDlgExtendedError 일반 대화 상자 오류 코드를 반환합니다. 이 코드는 일반 대화 상자 함수 중 하나의 실행 도중 발생하는 가장 최근의 오류를 보여 줍니다.
FindText 시스템 정의 모덜리스 찾기 대화 상자를 만들어 사용자가 검색할 문자열과 문서에서 텍스트를 검색할 때 사용할 옵션을 지정할 수 있도록 합니다.
FRHookProc 찾기 또는 바꾸기 대화 상자의 기본 대화 상자 프로시저에 대한 메시지나 알림을 받습니다. 이 애플리케이션 정의 또는 라이브러리 정의 콜백 함수는 FindText 또는 ReplaceText 함수와 함께 사용됩니다.
GetFileTitle 지정된 파일의 이름을 검색합니다.
GetOpenFileName 열기 대화 상자를 만들어 사용자가 열 파일 또는 파일 집합의 드라이브, 디렉터리 및 이름을 지정할 수 있도록 합니다.
GetSaveFileName 저장 대화 상자를 만들어 사용자가 저장할 파일의 드라이브, 디렉터리 및 이름을 지정할 수 있도록 합니다.
OFNHookProc 대화 상자에서 전송한 알림 메시지를 받습니다. 이 함수는 또한 정의한 추가 컨트롤에 대한 메시지를 받기 위해 자식 대화 상자 템플릿을 지정합니다. 이 애플리케이션 정의 또는 라이브러리 정의 콜백 함수는 Explorer 스타일 열기다른 이름으로 저장 대화 상자와 함께 사용됩니다.
OFNHookProcOldStyle 대화 상자 프로시저에 대한 메시지나 알림을 받습니다. 이 애플리케이션 정의 또는 라이브러리 정의 콜백 함수는 열기다른 이름으로 저장 대화 상자와 함께 사용됩니다.
PagePaintHook 샘플 페이지의 드로잉을 사용자 지정할 수 있는 메시지를 페이지 설정 대화 상자에서 받습니다. 이 애플리케이션 정의 또는 라이브러리 정의 콜백 함수는 PageSetupDlg 함수와 함께 사용됩니다.
PageSetupDlg 페이지 설정 대화 상자를 만들어 사용자가 인쇄된 페이지의 특성을 지정할 수 있도록 합니다. 용지 크기 및 원본, 페이지 방향(세로 또는 가로) 및 페이지 여백의 너비가 이러한 특성에 포함됩니다.
PageSetupHook 페이지 설정 대화 상자의 기본 대화 상자 프로시저에 관한 메시지나 알림을 받습니다. 이 애플리케이션 정의 또는 라이브러리 정의 콜백 함수는PageSetupDlg함수와 함께 사용됩니다.
PrintDlg 인쇄 대화 상자를 표시합니다. 사용자는 특정 인쇄 작업의 속성을 지정하기 위해 인쇄 대화 상자를 사용할 수 있습니다.
PrintDlgEx 인쇄 속성 시트를 표시하여 사용자가 특정 인쇄 작업의 속성을 지정할 수 있도록 합니다.인쇄 대화 상자와 유사한 컨트롤이 포함된 일반 페이지가인쇄속성 시트에 있습니다. 일반 페이지뿐만 아니라 추가 애플리케이션별 및 드라이버별 속성 페이지가 속성 시트에 있을 수도 있습니다.
PrintHookProc 인쇄 대화 상자의 기본 대화 상자 프로시저에 관한 메시지나 알림을 받습니다. 이는 PrintDlg 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다.
ReplaceText 검색할 문자열과 대체 문자열을 사용자가 지정할 수 있도록 하는 시스템 정의 모덜리스 대화 상자와 찾기 및 바꾸기 작업을 제어하는 옵션을 만듭니다.
SetupHookProc PrintDlg 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수. 인쇄 설정 대화 상자의 기본 대화 상자 프로시저에 대한 메시지나 알림을 후크 프로시저가 받습니다.

인터페이스

속성 설명
IPrintDialogCallback 애플리케이션이 인쇄 속성 시트가 표시되는 동안 PrintDlgEx 함수에서 알림 및 메시지를 받을 수 있도록 하는 메서드를 제공합니다.
IPrintDialogServices 애플리케이션에서 현재 선택한 프린터에 대한 정보를 PrintDlgEx 함수를 사용하여 검색할 수 있도록 하는 메서드를 제공합니다.

메시지

이름 설명
CDM_GETFILEPATH 선택한 파일의 경로와 파일 이름을 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 검색합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_GETFOLDERIDLIST 현재 열려 있는 폴더에 해당하는 항목 식별자 목록의 주소를 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자가 검색합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_GETFOLDERPATH 현재 열려 있는 폴더 또는 디렉터리의 경로를 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 검색합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_GETSPEC 현재 선택한 파일의 파일 이름(경로 포함 안 됨)을 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 검색합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_HIDECONTROL 지정된 컨트롤을 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 숨깁니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_SETCONTROLTEXT 지정된 컨트롤의 텍스트를 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 설정합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
CDM_SETDEFEXT 기본 파일 이름 확장명을 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에 대해 설정합니다. 대화 상자를 OFN_EXPLORER 플래그를 사용하여 만들었어야 하며, 그렇지 않은 경우 메시지는 실패합니다.
SETRGBSTRING 대화 상자의 후크 프로시저인 CCHookProc은 현재 색 선택을 설정하기 위해 대화 상자에 SETRGBSTRING 등록 메시지를 보낼 수 있습니다.
WM_CHOOSEFONT_GETLOGFONT 애플리케이션은 WM_CHOOSEFONT_GETLOGFONT 메시지를 글꼴 대화 상자로 보내 사용자의 현재 글꼴 선택에 대한 정보를 검색합니다.
WM_CHOOSEFONT_SETFLAGS 애플리케이션은 WM_CHOOSEFONT_SETFLAGS 메시지를 글꼴 대화 상자로 보내 대화 상자의 표시 옵션을 설정합니다.
WM_CHOOSEFONT_SETLOGFONT 애플리케이션은 현재 논리 글꼴 정보를 설정하기 위해 WM_CHOOSEFONT_SETLOGFONT 메시지를 글꼴 대화 상자로 보냅니다.

알림

속성 설명
CDN_FILEOK 사용자가 파일 이름을 지정한 다음 확인 버튼을 클릭하면, Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 보내집니다.
CDN_FOLDERCHANGE 새 폴더가 열리면, Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 전송됩니다.
CDN_HELP 사용자가 도움말 버튼을 클릭하면 Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 전송됩니다.
CDN_INCLUDEITEM 열기 또는 다른 이름으로 저장 대화 상자에서 보내 대화 상자가 셸 폴더의 항목 목록에 항목을 표시해야 하는지 여부를 결정합니다. 사용자가 폴더를 열면 폴더의 각 항목에 대한 CDN_INCLUDEITEM 알림을 대화 상자에서 보냅니다. 대화 상자를 만들 때 OFN_ENABLEINCLUDENOTIFY 플래그가 설정된 경우에만 대화 상자가 이 알림을 보냅니다.
CDN_INITDONE 시스템에서 대화 상자의 컨트롤 정렬을 마치면, Explorer 스타일의 열기 또는 다른 이름으로 저장 대화 상자에서 보냅니다. 시스템은 자식 대화 상자의 컨트롤을 위한 공간을 만들기 위해 표준 컨트롤을 이동합니다.
CDN_SELCHANGE 현재 열려 있는 폴더 또는 디렉터리의 내용을 표시하는 목록 상자에서 선택 항목이 변경되는 경우, Explorer 스타일의 열기 또는 다른 이름으로 저장 대화 상자에서 보냅니다.
CDN_SHAREVIOLATION 사용자가 확인 버튼을 클릭하고 선택한 파일에 관해 네트워크 공유 위반이 발생하는 경우, Explorer 스타일 열기 또는 다른 이름으로 저장 대화 상자에서 보냅니다.
CDN_TYPECHANGE 사용자가 새 파일 형식을 파일 형식 콤보 상자에서 선택하는 경우, Explorer 스타일의 열기 또는 다른 이름으로 저장 대화 상자에서 보냅니다.
COLOROKSTRING 사용자가 색을 선택하고 확인 버튼을 클릭하면, 대화 상자는 후크 프로시저인 CCHookProcCOLOROKSTRING 등록 메시지를 보냅니다. 후크 프로시저는 색을 적용하고 대화 상자를 닫거나 색을 거부하고 대화 상자를 열도록 할 수 있습니다.
FILEOKSTRING 사용자가 파일 이름을 지정하고 확인 버튼을 클릭하면, 열기 또는 다른 이름으로 저장 대화 상자가 FILEOKSTRING 등록 메시지를 후크 프로시저인OFNHookProc에 보냅니다. 후크 프로시저는 파일 이름을 적용하고 대화 상자를 닫거나, 파일 이름을 거부하고 대화 상자를 열도록 할 수 있습니다.
FINDMSGSTRING 사용자가 다음 찾기, 바꾸기 또는 모두 바꾸기 버튼을 클릭하거나 대화 상자를 닫는 경우, 찾기 또는 바꾸기 대화 상자가 소유자 창의 창 프로시저로 FINDMSGSTRING 등록 메시지를 보냅니다.
HELPMSGSTRING 일반 대화 상자는 사용자가 도움말 버튼을 클릭하는 경우 소유자 창의 창 프로시저로 HELPMSGSTRING 등록 메시지를 보냅니다.
LBSELCHSTRING 대화 상자의 목록 상자 또는 콤보 상자에서 선택 항목이 변경되는 경우 열기 또는 다른 이름으로 저장 대화 상자에서 후크 프로시저로 LBSELCHSTRING 등록 메시지를 보냅니다.
SHAREVISTRING 사용자가 확인 버튼을 클릭할 때 선택한 파일에 대한 공유 위반이 발생하는 경우, 열기 또는 다른 이름으로 저장 대화 상자에서 후크 프로시저인 OFNHookProcSHAREVISTRING 등록 메시지를 보냅니다.
WM_PSD_ENVSTAMPRECT 이 대화 상자가 샘플 페이지의 봉투 스탬프 사각형을 페이지 설정 대화 상자의 후크 프로시저인 PagePaintHook에 그릴 것임을 알립니다.
WM_PSD_FULLPAGERECT 페이지 설정 대화 상자에서 샘플 페이지 사각형의 좌표에 대한 PagePaintHook 후크 프로시저를 알립니다. 샘플 페이지의 내용을 그리려고 하는 경우, 이 대화 상자가 이 메시지를 보냅니다.
WM_PSD_GREEKTEXTRECT 페이지 설정 대화 상자의 후크 프로시저인 PagePaintHook에 대화 상자가 샘플 페이지의 여백 사각형 안에 그리스어 텍스트를 그리려고 한다는 것을 알립니다.
WM_PSD_MARGINRECT 이 대화 상자가 샘플 페이지의 여백 사각형을 페이지 설정 대화 상자의 후크 프로시저인 PagePaintHook에 그릴 것임을 알립니다.
WM_PSD_MINMARGINRECT 샘플 페이지에서 여백 사각형의 좌표에 대한 PagePaintHook 후크 프로시저를 알립니다. 샘플 페이지의 내용을 그리려고 하는 경우, 페이지 설정 대화 상자가 이 메시지를 보냅니다.
WM_PSD_PAGESETUPDLG PagePaintHook 후크 프로시저에 페이지 설정 대화 상자가 샘플 페이지의 내용을 그리려고 한다는 것을 알립니다. 후크 프로시저는 샘플 페이지의 내용 그리기와 관련된 초기화 작업을 수행하기 위해 이 메시지를 사용할 수 있습니다.
WM_PSD_YAFULLPAGERECT 이 대화 상자가 봉투 샘플 페이지의 반환 주소 부분을 페이지 설정 대화 상자의 후크 프로시저인 PagePaintHook에 그릴 것임을 알립니다.

구조

속성 설명
CHOOSECOLOR ChooseColor 함수가 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 대화 상자를 닫은 뒤 이 구조에서 사용자의 선택에 대한 정보를 반환합니다.
CHOOSEFONT ChooseFont 함수가 글꼴 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 대화 상자를 닫은 뒤 이 구조에서 사용자의 선택에 대한 정보를 반환합니다.
DEVNAMES 프린터의 드라이버, 디바이스 및 출력 포트 이름을 식별하는 문자열이 포함됩니다. PrintDlgExPrintDlg 함수는 시스템 정의 인쇄 속성 시트 또는 인쇄 대화 상자를 초기화하기 위해 이러한 문자열을 사용합니다. 속성 시트 또는 대화 상자를 사용자가 닫으면, 이 구조로 선택한 프린터에 대한 정보가 반환됩니다.
FINDREPLACE FindTextReplaceText 함수가 찾기바꾸기 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. FINDMSGSTRING 등록 메시지는 찾기 또는 바꾸기 대화 상자의 소유자 창에 사용자의 검색 또는 대체 입력을 전달하기 위해 이 구조를 사용합니다.
OFNOTIFY 열기 또는 다른 이름으로 저장 대화 상자의 OFNHookProc 후크 프로시저로 전송된 WM_NOTIFY 메시지에 대한 정보를 포함합니다. OFNOTIFY 구조체에 대한 포인터가 WM_NOTIFY 메시지의 lParam 매개 변수입니다.
OFNOTIFYEX CDN_INCLUDEITEM 알림 메시지에 대한 정보를 포함합니다.
OPENFILENAME GetOpenFileNameGetSaveFileName 함수가 열기 또는 다른 이름으로 저장 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 대화 상자를 닫은 뒤 이 구조에서 사용자의 선택에 대한 정보를 반환합니다.
OPENFILENAME_NT4 _WIN32_WINNT가 0x0400으로 설정된 OPENFILENAME과 동일합니다.
PAGESETUPDLG PageSetupDlg 함수가 페이지 설정 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 대화 상자를 닫은 뒤 이 구조에서 사용자 정의된 페이지 매개 변수에 대한 정보를 반환합니다.
PRINTDLG PrintDlg 함수가 인쇄 대화 상자를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 대화 상자를 닫은 뒤, 사용자의 선택에 대한 정보를 반환하기 위해 이 구조체를 사용합니다.
PRINTDLGEX PrintDlgEx 함수가 인쇄 속성 시트를 초기화하기 위해 사용하는 정보를 포함합니다. 시스템은 사용자가 속성 시트를 닫은 뒤, 사용자의 선택에 대한 정보를 반환하기 위해 이 구조체를 사용합니다.
PRINTPAGERANGE 인쇄 작업에 대한 페이지 범위를 지정합니다. 인쇄 작업에 둘 이상의 페이지 범위가 있을 수 있습니다. PrintDlgEx 함수를 호출하는 경우 PRINTDLGEX 구조체에 이 정보가 제공됩니다.