[이 예비 설명서 및 주제 변경.]
PRINTDLGEX 구조에 PrintDlgEx 함수를 사용 하 여 인쇄 속성 시트를 초기화 하는 정보가 들어 있습니다. 사용자 속성 시트를 닫으면 시스템이이 구조를 사용 하 여 사용자의 선택에 대 한 정보를 반환.
typedef struct tagPDEX {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD 플래그;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCTSTR lpPrintTemplateName;
LPUNKNOWN lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE * lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX
HDevMode NULL 이면 입력에 PrintDlgEx DEVMODE 구조체에 대 한 메모리를 할당, 사용자의 입력을 나타내는 해당 멤버를 초기화 및 그것을 식별 하는 핸들을 반환 합니다.
HDevMode 및 hDevNames 멤버에 대 한 자세한 내용은이 항목의 끝에 설명 단원을 참조 하십시오.
HDevNames 멤버는 NULL이 될 수 있습니다,이 경우 PrintDlgEx DEVNAMES 구조체를 초기화 하 여 사용자 지정을 해당 멤버의 입력에 대 한 메모리 할당 및 핸들을 반환 하는 식별.
HDevMode 및 hDevNames 멤버에 대 한 자세한 내용은이 항목의 끝에 설명 단원을 참조 하십시오.
| PD_ALLPAGES | |
| 모든 라디오 단추 선택 처음 나타내는 기본 플래그입니다. PD_PAGENUMS, PD_SELECTION, 및 PD_CURRENTPAGE 플래그를 지정 하지는 않으려면이 플래그를 개체 틀으로 사용. | |
| PD_COLLATE | |
| 한 부씩 인쇄 확인란의 선택이 플래그를 설정 하는 경우. PrintDlgEx 함수가 반환 될 때이 플래그가 설정 되 면 응용 프로그램 여러 복사본의 데이터 정렬이 시뮬레이션 해야 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. PD_USEDEVMODECOPIESANDCOLLATE 플래그에 대 한 설명을. |
|
| PD_CURRENTPAGE | |
| 이 플래그가 설정 되어 있으면 현재 페이지 라디오 단추를 선택 합니다. 모든 라디오 단추가 선택 없음 PD_PAGENUMS, PD_SELECTION, 또는 PD_CURRENTPAGE 플래그를 설정 하는 경우. | |
| PD_DISABLEPRINTTOFILE | |
| 파일로 인쇄 확인란을 해제합니다. | |
| PD_ENABLEPRINTTEMPLATE | |
| HInstance 및 lpPrintTemplateName 회원 일반 페이지의 아래쪽에 기본 대화 상자 서식 파일에 대 한 대체를 지정 하는 나타냅니다. 기본 서식 파일에는 인쇄 대화 상자와 비슷한 컨트롤이 포함 되어 있습니다. 시스템은 지정 된 템플릿을 사용 하 여 일반 페이지의 자식 창을 만들합니다. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| HInstance 회원 식별 로드 대화 상자 템플릿을 포함 하는 데이터 블록을 나타냅니다. 이 템플릿은 일반 페이지의 아래쪽에 기본 대화 상자 템플릿을 대체합니다. 시스템 지정된 된 서식 파일을 사용 하 여 일반 페이지의 자식 창을 만듭니다. 이 플래그를 지정 하는 경우 lpPrintTemplateName 멤버를 무시 하는 시스템. | |
| PD_EXCLUSIONFLAGS | |
| ExclusionFlags 회원 식별 프린터 드라이버 속성 페이지에서 제외할 항목을 나타냅니다. 이 플래그가 설정 되지 않은 경우에 항목이 프린터 드라이버 속성 페이지에서 기본적으로 제외 됩니다. 일반 페이지, 어떤 응용 프로그램 지정 페이지 및 프린터 드라이버 페이지 간 항목의 중복을 방지 하는 제외. | |
| PD_HIDEPRINTTOFILE | |
| 파일로 인쇄 확인란을 숨깁니다. | |
| PD_NOCURRENTPAGE | |
| 현재 페이지 라디오 단추 비활성화. | |
| PD_NOPAGENUMS | |
| 페이지 라디오 단추와 관련 된 편집 컨트롤을 사용 하지 않도록 설정. | |
| PD_NOSELECTION | |
| 선택 라디오 단추 비활성화. | |
| PD_NOWARNING | |
| 경고 메시지 오류가 발생할 때 표시 되는 것을 방지합니다. | |
| PD_PAGENUMS | |
| 이 플래그가 설정 되어 있으면 페이지 라디오 단추를 선택 합니다. 모든 라디오 단추가 선택 없음 PD_PAGENUMS, PD_SELECTION, 또는 PD_CURRENTPAGE 플래그를 설정 하는 경우. LpPageRanges 멤버는 사용자가 지정한 페이지 범위를 나타냅니다 PrintDlgEx 함수가 반환 될 때이 플래그가 설정 되 면. |
|
| PD_PRINTTOFILE | |
| 파일로 인쇄 확인란을 선택이 플래그를 설정 하는 경우. DEVNAMES 구조체의 wOutputOffset 멤버에 의해 지정 된 오프셋에서 문자열을 포함 PrintDlgEx 반환 될 때이 플래그가 설정 되 면 "파일:". 호출 하는 경우는 인쇄 작업을 시작 하려면 StartDoc 함수 지정이 "파일:" 문자열의 lpszOutput 멤버에는 DOCINFO 구조체. 이 문자열을 지정 하면 출력 파일의 이름에 대 한 사용자 쿼리를 인쇄 하위 시스템. |
|
| PD_RETURNDC | |
| 속성 시트에서 만든 사용자 선택 일치 하는 장치 컨텍스트를 반환 하려면 PrintDlgEx 를 발생 합니다. 디바이스 컨텍스트 hDC 에 반환. | |
| PD_RETURNDEFAULT | |
| 이 플래그가 설정 된 경우 PrintDlgEx 함수는 속성 시트를 표시 하지 않습니다. 그것은 핸들을 hDevNames 및 hDevMode 멤버를 설정 하는 대신, 시스템의 기본 프린터에 대 한 초기화 된 DEVMODE 와 DEVNAMES 구조. HDevNames 및 hDevMode NULL 이어야 또는 PrintDlgEx 오류를 반환 합니다. | |
| PD_RETURNIC | |
| 이 플래그는 장치 컨텍스트에 보다는 정보 컨텍스트를 반환 합니다. 제외 하 고 PD_RETURNDC 플래그를 유사 합니다. HDC 출력에 정의 되지 않은 PD_RETURNDC도 PD_RETURNIC를 지정 하는 경우. | |
| PD_SELECTION | |
| 이 플래그가 설정 되 면 선택 라디오 단추 선택. 모든 라디오 단추가 선택 없음 PD_PAGENUMS, PD_SELECTION, 또는 PD_CURRENTPAGE 플래그를 설정 하는 경우. |
|
| PD_USEDEVMODECOPIES | |
| PD_USEDEVMODECOPIESANDCOLLATE와 같은 | |
| PD_USEDEVMODECOPIESANDCOLLATE | |
| 이 플래그는 응용 프로그램 여러 복사본 및 데이터 정렬을 지원 하는지 여부를 나타냅니다. 응용 프로그램 여러 복사본 및 데이터 정렬을 지원 하지 않습니다 나타내는 입력에이 플래그를 설정 합니다. 이 경우 PRINTDLGEX 구조체의 nCopies 멤버는 항상 1을 반환 합니다 및 PD_COLLATE 플래그 구성원에서 설정 되지 않습니다. 이 플래그가 설정 되어 있지 않으면 응용 프로그램은 인쇄 하 고 여러 개의 복사본을 정렬 하는 작업을 담당 합니다. 이 경우 PRINTDLGEX 구조체의 nCopies 멤버는 사용자가 인쇄 매수를 나타냅니다 및 플래그 구성원에서 PD_COLLATE 플래그는 사용자가 데이터 정렬 여부를 나타냅니다. 이 플래그가 설정 되어 있는지 여부에 관계 없이 응용 프로그램을 렌더링 얼마나 많은 복사본 nCopies 및 PD_COLLATE에서 확인할 수 있습니다 그리고 여부 그들을 인쇄합니다 하려면 한 부씩 인쇄. 이 플래그를 설정 하는 경우 프린터 드라이버는 여러 복사본을 지원 하지 않습니다 복사본 편집 컨트롤은 사용할 수 없습니다. 마찬가지로,이 플래그를 설정 하는 경우 프린터 드라이버는 데이터 정렬을 지원 하지 않습니다 Collate 확인란이 비활성화 되어. DmCopies 및 dmCollate 멤버는 DEVMODE 구조는 복사본을 포함 하 고 프린터 드라이버에 의해 사용 되는 정보를 한 부씩 인쇄 합니다. 이 플래그를 설정 하는 경우 프린터 드라이버는 여러 복사본을 지원 dmCopies 멤버는 사용자가 요청한 매수를 나타냅니다. 이 플래그를 설정 하는 경우 프린터 드라이버에서 지 원하는 데이터 정렬을 DEVMODE 구조체의 dmCollate 멤버는 사용자가 정렬 여부를 나타냅니다. 이 플래그가 설정 되어 있지 않으면 dmCopies 구성원은 항상 1을 반환 합니다 및 dmCollate 구성원은 항상 0입니다. |
|
| PD_EXCL_COPIESANDCOLLATE | |
| 인쇄 속성 시트에서 프린터 드라이버 속성 페이지에서 매수 및 한 부씩 인쇄 컨트롤을 제외합니다. 응용 프로그램이 인쇄 속성 시트의 일반 페이지의 아래 부분에 의해 제공 되는 기본 매수 및 한 부씩 인쇄 컨트롤을 사용 하는 경우에 항상이 플래그를 설정할 수 있어야. | |
PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효 하지. LpPageRanges 가 NULL이 아닌 되어야 합니다 PD_NOPAGENUMS 플래그를 지정 하지 않은 경우.
PrintDlgEx 는 반환 될 때 nCopies 응용 프로그램 인쇄 해야 합니다 실제 매수를 포함 합니다. 이 값에 따라 달라 집니다 여부 응용 프로그램 또는 프린터 드라이버 여러 복사본을 인쇄 하는 작업을 담당 합니다. 플래그 멤버에 PD_USEDEVMODECOPIESANDCOLLATE 플래그가 설정 되어 nCopies 는 항상 반환 1 및 프린터 드라이버는 여러 복사본을 인쇄 하는 작업을 담당 합니다. 플래그가 설정 되어 있지 않으면 응용 프로그램은 nCopies에 의해 지정 된 복사본 수를 인쇄 하는 작업을 담당 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. PD_USEDEVMODECOPIESANDCOLLATE 플래그에 대 한 설명을.
개체가 일반 페이지의 아래쪽에 있는 자식 대화 상자에 대 한 메시지를 받을 수 IPrintDialogCallback 클래스를 포함 해야.
콜백 개체도 포함 되어야 합니다 IPrintDialogServices 인터페이스에 대 한 포인터를 받을 IObjectWithSite 클래스. PrintDlgEx 함수 호출 IID_IPrintDialogCallback 와 IID_IObjectWithSite 는 인터페이스 지원 결정에 대 한 콜백 개체에 QueryInterface.
콜백 정보를 검색 하지 않으려면 lpCallback 를 NULL로 설정.
| 값 | 의미 |
|---|---|
| PD_RESULT_APPLY | 사용자 적용 단추를 클릭 하 고 나중에 취소 단추를 클릭 합니다. 사용자 속성 시트에서 변경 된 내용을 적용 하려고 했지만 아직 인쇄 하지 않을 나타냅니다. 적용 단추를 클릭 하면 시간에 사용자가 지정한 정보를 포함 하는 PRINTDLGEX 구조. |
| PD_RESULT_CANCEL | 사용자 취소 단추를 클릭합니다. PRINTDLGEX 구조에 있는 정보는 변경 되지 않습니다. |
| PD_RESULT_PRINT | 사용자는 인쇄 단추를 클릭합니다. 사용자가 지정 하는 정보를 포함 하는 PRINTDLGEX 구조. |
동일의 dmDeviceName 멤버는 호출할 때 PrintDlgEx 함수 해야 DEVNAMES 구조체의 wDeviceOffset 멤버는 DEVMODE 구조. 이러한 멤버는 동일한 프린터를 지정 하지 않으면, PrintDlgEx wDeviceOffset 구성원에 의해 지정 된 프린터를 사용 하 여 속성 시트를 초기화.
일반적으로, hDevMode 및 hDevNames NULL 인 경우 PrintDlgEx 는 현재 기본 프린터를 사용 하 여 속성 시트를 초기화 합니다. 그러나 PD_RETURNDEFAULT 플래그가 설정 하는 경우 hDevMode 와 hDevNames 는 NULL PrintDlgEx hDevNames 및 hDevMode 멤버를 사용 하 여 속성 시트를 표시 하지 않고 현재 기본 프린터에 대 한 정보를 반환.
PrintDlgEx를 실행 하는 동안 해당 PRINTDLGEX 구조에 지정 된 DEVMODE 와 DEVNAMES 구조 수 있습니다 항상 현재 데이터를 포함 하지. 이러한 이유로 초기 페이지에 대 한 IPrintDialogCallback 루틴으로 응용 프로그램별 속성 페이지 인터페이스를 사용 해야 IPrintDialogServices 현재 프린터의 상태에 대 한 정보를 검색.
nbsp;?Windows &NT: 버전 5.0 이상이 필요 합니다.
Windows:지원 되지 않습니다.
Windows CE:지원 되지 않습니다.
헤더:Commdlg.h에 선언 합니다.
가져오기 라이브러리:Comdlg32.lib를 사용 합니다.
유니코드:유니코드와 ANSI 구조 정의.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx