PRINTDLGEX

[이 예비 설명서 및 주제 변경.]

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 

회원

lStructSize
바이트에서 구조 크기를 지정합니다.
hwndOwner
속성 시트를 소유 하는 창에 대 한 핸들. 이 구성원에 유효한 창 핸들; 이어야 합니다. 그것은 NULL이 될 수 없습니다.
hDevMode
포함 하는 이동식 전역 메모리 개체에 대 한 핸들을 DEVMODE 구조. HDevMode 입력에 NULL이 아니면 DEVMODE 구조체에 대 한 이동식 메모리 블록을 할당 하 고 해당 멤버를 초기화 해야 합니다. PrintDlgEx 함수는 컨트롤 속성 시트에서 입력된 datato 초기화 사용합니다. DEVMODE 구성원 사용자의 입력을 나타내는 PrintDlgEx 가 반환 하는 경우.

HDevMode NULL 이면 입력에 PrintDlgEx DEVMODE 구조체에 대 한 메모리를 할당, 사용자의 입력을 나타내는 해당 멤버를 초기화 및 그것을 식별 하는 핸들을 반환 합니다.

HDevModehDevNames 멤버에 대 한 자세한 내용은이 항목의 끝에 설명 단원을 참조 하십시오.

hDevNames
DEVNAMES 구조체를 포함 하는 이동식 전역 메모리 개체에 대 한 핸들. HDevNames 입력에 NULL이 아니면 DEVNAMES 구조에 대 한 이동식 메모리 블록을 할당 하 고 해당 멤버를 초기화 해야 합니다. PrintDlgEx 함수는 컨트롤 속성 시트에서 입력된 datato 초기화 사용합니다. PrintDlgEx 는 반환 될 때 DEVNAMES 회원은 사용자가 선택한 프린터에 대 한 정보가 있습니다. 이 정보를 사용 하 여 장치 컨텍스트 또는 정보 컨텍스트를 만들 수 있습니다.

HDevNames 멤버는 NULL이 될 수 있습니다,이 경우 PrintDlgEx DEVNAMES 구조체를 초기화 하 여 사용자 지정을 해당 멤버의 입력에 대 한 메모리 할당 및 핸들을 반환 하는 식별.

HDevModehDevNames 멤버에 대 한 자세한 내용은이 항목의 끝에 설명 단원을 참조 하십시오.

hDC
장치 컨텍스트 또는 플래그 멤버 PD_RETURNDC 또는 PC_RETURNIC 플래그를 지정 하는 여부에 따라 정보 컨텍스트를 처리 합니다. 어느 플래그를 지정 하는 경우이 멤버의 값을 정의 되지 않습니다. PD_RETURNDC 우선 순위는 모두 플래그를 지정 하는 경우.
플래그
인쇄 속성 시트를 초기화 하는 데 사용할 수 있는 비트 플래그 집합입니다. PrintDlgEx 함수가 반환 하는 경우 사용자의 입력을 나타내는 데 이러한 플래그를 설정 합니다. 이 구성원은 다음 플래그 조합 될 수 있습니다.
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
HInstancelpPrintTemplateName 회원 일반 페이지의 아래쪽에 기본 대화 상자 서식 파일에 대 한 대체를 지정 하는 나타냅니다. 기본 서식 파일에는 인쇄 대화 상자와 비슷한 컨트롤이 포함 되어 있습니다. 시스템은 지정 된 템플릿을 사용 하 여 일반 페이지의 자식 창을 만들합니다.
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 함수는 속성 시트를 표시 하지 않습니다. 그것은 핸들을 hDevNameshDevMode 멤버를 설정 하는 대신, 시스템의 기본 프린터에 대 한 초기화 된 DEVMODEDEVNAMES 구조. HDevNameshDevMode 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 확인란이 비활성화 되어.

DmCopiesdmCollate 멤버는 DEVMODE 구조는 복사본을 포함 하 고 프린터 드라이버에 의해 사용 되는 정보를 한 부씩 인쇄 합니다. 이 플래그를 설정 하는 경우 프린터 드라이버는 여러 복사본을 지원 dmCopies 멤버는 사용자가 요청한 매수를 나타냅니다. 이 플래그를 설정 하는 경우 프린터 드라이버에서 지 원하는 데이터 정렬을 DEVMODE 구조체의 dmCollate 멤버는 사용자가 정렬 여부를 나타냅니다. 이 플래그가 설정 되어 있지 않으면 dmCopies 구성원은 항상 1을 반환 합니다 및 dmCollate 구성원은 항상 0입니다.


Flags2
예약; 0 이어야 합니다.
ExclusionFlags
인쇄 속성 시트에서 프린터 드라이버 속성 페이지에서 항목을 제외할 수 있는 비트 플래그 집합입니다. 이 값은 플래그 멤버에 PD_EXCLUSIONFLAGS 플래그가 설정 되어 있는 경우에 사용 됩니다. 제외할 항목 일반 페이지 또는 인쇄 속성 시트에서 응용 프로그램 정의 페이지에 포함 될 경우에 제외 플래그를 사용 해야 합니다. 이 멤버는 다음 플래그를 지정할 수 있습니다.
PD_EXCL_COPIESANDCOLLATE
인쇄 속성 시트에서 프린터 드라이버 속성 페이지에서 매수한 부씩 인쇄 컨트롤을 제외합니다. 응용 프로그램이 인쇄 속성 시트의 일반 페이지의 아래 부분에 의해 제공 되는 기본 매수한 부씩 인쇄 컨트롤을 사용 하는 경우에 항상이 플래그를 설정할 수 있어야.

nPageRanges
입력에 lpPageRanges 배열에 지정 된 페이지 범위의 초기 번호에이 멤버를 설정 합니다. PrintDlgEx 함수가 반환 될 때 nPageRanges lpPageRanges 배열에 저장 하는 사용자 지정 된 페이지 범위의 수를 나타냅니다. PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효.
nMaxPageRanges
LpPageRanges 버퍼의 배열 요소에 크기를 지정합니다. 이 값은 페이지 범위 배열에 저장할 수 있는 최대 수를 나타냅니다. PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효 하지. PD_NOPAGENUMS 플래그를 지정 하지 않은 경우이 값을 0 보다 큰 이어야 합니다.
lpPageRanges
PRINTPAGERANGE 구조체의 배열을 포함 하는 버퍼 포인터입니다. 입력에는 배열에는 페이지 편집 컨트롤에 표시할 초기 페이지 범위를 포함 되어 있습니다. PrintDlgEx 함수가 반환 될 때 배열에 사용자가 지정한 페이지 범위 포함.

PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효 하지. LpPageRanges 가 NULL이 아닌 되어야 합니다 PD_NOPAGENUMS 플래그를 지정 하지 않은 경우.

nMinPage
페이지 편집 컨트롤에 지정 된 페이지 범위에 대 한 최소 값을 지정 합니다. PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효.
nMaxPage
페이지 편집 컨트롤에 지정 된 페이지 범위에 대 한 최대 값을 지정 합니다. PD_NOPAGENUMS 플래그를 지정 하는 경우이 값은 유효.
nCopies
복사본 편집 컨트롤에 대 한 복사본의 초기 번호를 포함 하는 경우 hDevMode NULL; 그렇지 않으면,의 dmCopies 멤버는 초기 값을 포함 하는 DEVMODE 구조.

PrintDlgEx 는 반환 될 때 nCopies 응용 프로그램 인쇄 해야 합니다 실제 매수를 포함 합니다. 이 값에 따라 달라 집니다 여부 응용 프로그램 또는 프린터 드라이버 여러 복사본을 인쇄 하는 작업을 담당 합니다. 플래그 멤버에 PD_USEDEVMODECOPIESANDCOLLATE 플래그가 설정 되어 nCopies 는 항상 반환 1 및 프린터 드라이버는 여러 복사본을 인쇄 하는 작업을 담당 합니다. 플래그가 설정 되어 있지 않으면 응용 프로그램은 nCopies에 의해 지정 된 복사본 수를 인쇄 하는 작업을 담당 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. PD_USEDEVMODECOPIESANDCOLLATE 플래그에 대 한 설명을.

hInstance
플래그 멤버에 PD_ENABLEPRINTTEMPLATE 플래그가 설정 되어 있으면 hInstance 응용 프로그램 또는 대화 상자 템플릿을 lpPrintTemplateName 구성원에 의해 명명 된 포함 하는 모듈 인스턴스 핸들입니다. 플래그 멤버에 PD_ENABLEPRINTTEMPLATEHANDLE 플래그가 설정 되어 있으면 hInstance 대화 상자 템플릿에 포함 된 메모리 개체의 핸들입니다. HInstance be NULL도 서식 플래그 플래그 멤버에 설정 하는 경우.
lpPrintTemplateName
HInstance 회원에 의해 식별 된 모듈에서 대화 상자 템플릿 리소스 이름을 null로 끝나는 문자열 포인터입니다. 이 템플릿은 일반 페이지의 아래쪽에 기본 대화 상자 템플릿을 대체합니다. 기본 서식 파일에는 인쇄 대화 상자와 비슷한 컨트롤이 포함 되어 있습니다. 이 멤버는 PD_ENABLEPRINTTEMPLATE 플래그 플래그 멤버에 설정 되어 있지 않으면 무시 됩니다.
lpCallback
응용 프로그램 정의 콜백 개체에 대 한 포인터.

개체가 일반 페이지의 아래쪽에 있는 자식 대화 상자에 대 한 메시지를 받을 수 IPrintDialogCallback 클래스를 포함 해야.

콜백 개체도 포함 되어야 합니다 IPrintDialogServices 인터페이스에 대 한 포인터를 받을 IObjectWithSite 클래스. PrintDlgEx 함수 호출 IID_IPrintDialogCallbackIID_IObjectWithSite 는 인터페이스 지원 결정에 대 한 콜백 개체에 QueryInterface.

콜백 정보를 검색 하지 않으려면 lpCallback 를 NULL로 설정.

nPropertyPages
LphPropertyPages 배열에서 속성 페이지 핸들의 수를 지정합니다.
lphPropertyPages
인쇄 속성 시트에 추가할 속성 페이지 핸들의 배열을 포함 합니다. 추가 속성 페이지 일반 페이지를 따릅니다. 사용 된 CreatePropertySheetPage 함수 이러한 추가 페이지를 만들. LphPropertyPages NULL 이어야 nPropertyPages 0 이면.
nStartPage
처음 표시 되는 속성 페이지를 지정 합니다. 일반 페이지를 표시 하려면 START_PAGE_GENERAL를 지정 합니다. 그렇지 않으면, lphPropertyPages 구성원에 지정 된 배열에 있는 속성 페이지의 인덱스를 지정 합니다. 일관성을 위해 일반 페이지에서는 속성 시트를 시작 항상는 좋습니다.
dwResultAction
입력에이 구성원을 0으로 설정 합니다. S_OK를 반환 하는 PrintDlgEx 함수, dwResultAction 는 대화의 결과 포함 합니다. PrintDlgEx 가 오류를 반환 하는 경우이 멤버를 무시 한다. DwResultAction 멤버는 다음 값 중 하나일 수 있습니다.
의미
PD_RESULT_APPLY 사용자 적용 단추를 클릭 하 고 나중에 취소 단추를 클릭 합니다. 사용자 속성 시트에서 변경 된 내용을 적용 하려고 했지만 아직 인쇄 하지 않을 나타냅니다. 적용 단추를 클릭 하면 시간에 사용자가 지정한 정보를 포함 하는 PRINTDLGEX 구조.
PD_RESULT_CANCEL 사용자 취소 단추를 클릭합니다. PRINTDLGEX 구조에 있는 정보는 변경 되지 않습니다.
PD_RESULT_PRINT 사용자는 인쇄 단추를 클릭합니다. 사용자가 지정 하는 정보를 포함 하는 PRINTDLGEX 구조.

주의

동일의 dmDeviceName 멤버는 호출할 때 PrintDlgEx 함수 해야 DEVNAMES 구조체의 wDeviceOffset 멤버는 DEVMODE 구조. 이러한 멤버는 동일한 프린터를 지정 하지 않으면, PrintDlgEx wDeviceOffset 구성원에 의해 지정 된 프린터를 사용 하 여 속성 시트를 초기화.

일반적으로, hDevModehDevNames NULL 인 경우 PrintDlgEx 는 현재 기본 프린터를 사용 하 여 속성 시트를 초기화 합니다. 그러나 PD_RETURNDEFAULT 플래그가 설정 하는 경우 hDevModehDevNames 는 NULL PrintDlgEx hDevNameshDevMode 멤버를 사용 하 여 속성 시트를 표시 하지 않고 현재 기본 프린터에 대 한 정보를 반환.

PrintDlgEx를 실행 하는 동안 해당 PRINTDLGEX 구조에 지정 된 DEVMODEDEVNAMES 구조 수 있습니다 항상 현재 데이터를 포함 하지. 이러한 이유로 초기 페이지에 대 한 IPrintDialogCallback 루틴으로 응용 프로그램별 속성 페이지 인터페이스를 사용 해야 IPrintDialogServices 현재 프린터의 상태에 대 한 정보를 검색.

QuickInfo

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

 

Index