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 구조체에 대 한 메모리를 할당, 사용자의 입력을 나타내는 해당 멤버를 초기화 및 그것을 식별 하는 핸들을 반환 합니다.

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

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

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

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

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
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입니다.


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_IPrintDialogCallback 와 IID_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 구성원에 의해 지정 된 프린터를 사용 하 여 속성 시트를 초기화.

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

PrintDlgEx를 실행 하는 동안 해당 PRINTDLGEX 구조에 지정 된 DEVMODE 와 DEVNAMES 구조 수 있습니다 항상 현재 데이터를 포함 하지. 이러한 이유로 초기 페이지에 대 한 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