다음을 통해 공유


CPrintDialogEx 클래스

Windows Print 속성 시트에서 제공하는 서비스를 캡슐화합니다.

구문

class CPrintDialogEx : public CCommonDialog

멤버

공용 생성자

속성 설명
CPrintDialogEx::CPrintDialogEx CPrintDialogEx 개체를 생성합니다.

공용 메서드

이름 설명
CPrintDialogEx::CreatePrinterDC 인쇄 대화 상자를 표시하지 않고 프린터 디바이스 컨텍스트를 만듭니다.
CPrintDialogEx::D oModal 대화 상자를 표시하고 사용자가 선택할 수 있도록 합니다.
CPrintDialogEx::GetCopies 요청된 복사본 수를 검색합니다.
CPrintDialogEx::GetDefaults 대화 상자를 표시하지 않고 디바이스 기본값을 검색합니다.
CPrintDialogEx::GetDeviceName 현재 선택한 프린터 디바이스의 이름을 검색합니다.
CPrintDialogEx::GetDevMode 구조를 검색 DEVMODE 합니다.
CPrintDialogEx::GetDriverName 시스템 정의 프린터 디바이스 드라이버의 이름을 검색합니다.
CPrintDialogEx::GetPortName 현재 선택한 프린터 포트의 이름을 검색합니다.
CPrintDialogEx::GetPrinterDC 프린터 디바이스 컨텍스트에 대한 핸들을 검색합니다.
CPrintDialogEx::P rintAll 문서의 모든 페이지를 인쇄할지 여부를 결정합니다.
CPrintDialogEx::P rintCollate 데이터 정렬된 복사본이 요청되는지 여부를 결정합니다.
CPrintDialogEx::P rintCurrentPage 문서의 현재 페이지를 인쇄할지 여부를 결정합니다.
CPrintDialogEx::P rintRange 지정된 페이지 범위만 인쇄할지 여부를 결정합니다.
CPrintDialogEx::P rintSelection 현재 선택한 항목만 인쇄할지 여부를 결정합니다.

공용 데이터 멤버

속성 설명
CPrintDialogEx::m_pdex 개체를 사용자 지정하는 데 사용되는 구조체입니다 CPrintDialogEx .

설명

프레임워크를 사용하여 애플리케이션에 대한 인쇄 프로세스의 여러 측면을 처리할 수 있습니다. 프레임워크를 사용하여 인쇄 작업을 처리하는 방법에 대한 자세한 내용은 인쇄 문서를 참조하세요.

애플리케이션이 프레임워크의 개입 없이 인쇄를 처리하도록 하려면 제공된 생성자와 함께 "있는 그대로" 클래스를 사용 CPrintDialogEx 하거나 사용자 고유의 대화 클래스를 CPrintDialogEx 파생시키고 필요에 맞게 생성자를 작성할 수 있습니다. 두 경우 모두 이러한 대화 상자는 클래스 CCommonDialog에서 파생되므로 표준 MFC 대화 상자처럼 동작합니다.

개체를 CPrintDialogEx 사용하려면 먼저 생성자를 사용하여 개체를 CPrintDialogEx 만듭니다. 대화 상자가 생성되면 m_pdex 구조체의 값을 설정하거나 수정하여 대화 상자의 컨트롤 값을 초기화할 수 있습니다. 구조체 m_pdex 는 PRINTDLGEX 형식입니다. 이 구조에 대한 자세한 내용은 Windows SDK를 참조하세요.

사용자 고유의 핸들과 hDevNames 멤버에 대한 hDevMode 핸들을 m_pdex 제공하지 않는 경우 대화 상자를 완료할 때 이러한 핸들에 대해 Windows 함수 GlobalFree 를 호출해야 합니다.

대화 상자 컨트롤을 초기화한 후 멤버 함수를 DoModal 호출하여 대화 상자를 표시하고 사용자가 인쇄 옵션을 선택할 수 있도록 합니다. 반환될 때 DoModal 사용자가 확인, 적용 또는 취소 단추를 선택했는지 여부를 확인할 수 있습니다.

사용자가 확인을 누른 경우 '의 멤버 함수를 사용하여 CPrintDialogEx사용자의 정보 입력을 검색할 수 있습니다.

CPrintDialogEx::GetDefaults 멤버 함수는 대화 상자를 표시하지 않고 현재 프린터 기본값을 검색하는 데 유용합니다. 이 메서드는 사용자 상호 작용이 필요하지 않습니다.

Windows CommDlgExtendedError 함수를 사용하여 대화 상자를 초기화하는 동안 오류가 발생했는지 여부를 확인하고 오류에 대해 자세히 알아볼 수 있습니다. 이 함수에 대한 자세한 내용은 Windows SDK를 참조하세요.

사용에 CPrintDialogEx대한 자세한 내용은 일반 대화 상자 클래스를 참조 하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

요구 사항

헤더: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Windows Print 속성 시트를 생성합니다.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

매개 변수

dwFlags
비트 OR 연산자를 사용하여 결합된 대화 상자의 설정을 사용자 지정하는 데 사용할 수 있는 플래그가 하나 이상 있습니다. 예를 들어 PD_ALLPAGES 플래그는 기본 인쇄 범위를 문서의 모든 페이지로 설정합니다. 이러한 플래그에 대한 자세한 내용은 Windows SDK의 PRINTDLGEX 구조를 참조하세요.

pParentWnd
대화 상자의 부모 또는 소유자 창에 대한 포인터입니다.

설명

이 멤버 함수는 개체만 생성합니다. 멤버 함수를 DoModal 사용하여 대화 상자를 표시합니다.

CPrintDialogEx::CreatePrinterDC

DEVMODEDEVNAMES 구조체에서 DC(프린터 디바이스 컨텍스트)를 만듭니다.

HDC CreatePrinterDC();

Return Value

새로 만든 프린터 디바이스 컨텍스트에 대한 핸들입니다.

설명

반환된 DC도 m_pdex 멤버hDC 저장됩니다.

이 DC는 현재 프린터 DC로 간주되며 이전에 가져온 다른 프린터 DC는 삭제해야 합니다. 인쇄 대화 상자를 표시하지 않고도 이 함수를 호출하고 결과 DC를 사용할 수 있습니다.

CPrintDialogEx::D oModal

이 함수를 호출하여 Windows Print 속성 시트를 표시하고 사용자가 복사본 수, 페이지 범위 및 복사본을 정렬해야 하는지 여부와 같은 다양한 인쇄 옵션을 선택할 수 있도록 합니다.

virtual INT_PTR DoModal();

Return Value

INT_PTR 반환 값은 실제로 HRESULT입니다. Windows SDK의 PrintDlgEx 에서 반환 값 섹션을 참조하세요.

설명

구조체의 m_pdex 멤버를 설정하여 다양한 인쇄 대화 상자를 초기화하려면 호출 DoModal하기 전에 대화 상자 개체를 생성한 후에 이 작업을 수행해야 합니다.

호출 DoModal한 후 다른 멤버 함수를 호출하여 사용자가 대화 상자에 입력한 설정 또는 정보를 검색할 수 있습니다.

호출DoModal할 때 PD_RETURNDC 플래그를 사용하면 프린터 DC가 m_pdex 멤버hDC 반환됩니다. 이 DC는 다음 호출자가 CPrintDialogExDeleteDC를 호출하여 해제해야 합니다.

CPrintDialogEx::GetCopies

호출한 후 이 함수를 호출 DoModal 하여 요청된 복사본 수를 검색합니다.

int GetCopies() const;

Return Value

요청된 복사본 수입니다.

CPrintDialogEx::GetDefaults

대화 상자를 표시하지 않고 기본 프린터의 디바이스 기본값을 검색하려면 이 함수를 호출합니다.

BOOL GetDefaults();

Return Value

성공하면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

DEVMODEDEVNAMES 구조체에서 DC(프린터 디바이스 컨텍스트)를 만듭니다.

GetDefaults 이 인쇄 속성 시트를 표시하지 않습니다. 대신 m_pdex 멤버와 hDevMode 멤버를 시스템 기본 프린터에 대해 초기화된 DEVMODEDEVNAMES 구조체에 대해 처리하도록 설정합니다hDevNames. hDevMode 둘 다 hDevNames NULL GetDefaults 이거나 실패해야 합니다.

PD_RETURNDC 플래그가 설정된 경우 이 함수는 호출자에게 반환 hDevNameshDevMode (위치 m_pdex.hDevNames ) m_pdex.hDevMode뿐만 아니라 프린터 DC도 m_pdex.hDC반환합니다. 개체를 완료 CPrintDialogEx 하면 호출자가 프린터 DC를 삭제하고 핸들에서 Windows GlobalFree 함수를 호출해야 합니다.

CPrintDialogEx::GetDeviceName

DoModal을 호출하여 현재 선택한 프린터의 이름을 검색하거나 GetDefaults를 호출하여 기본 프린터의 이름을 검색한 후 이 함수를 호출합니다.

CString GetDeviceName() const;

Return Value

현재 선택한 프린터의 이름입니다.

설명

CDC::CreateDC 호출에서 값 lpszDeviceName 으로 반환된 GetDeviceName 개체에 대한 포인터 CString사용합니다.

CPrintDialogEx::GetDevMode

DoModal 또는 GetDefaults를 호출한 후 이 함수를 호출하여 인쇄 장치에 대한 정보를 검색합니다.

LPDEVMODE GetDevMode() const;

Return Value

인쇄 드라이버의 디바이스 초기화 및 환경에 대한 정보를 포함하는 DEVMODE 데이터 구조입니다. Windows SDK에 설명된 Windows GlobalUnlock 함수를 사용하여 이 구조에서 가져온 메모리의 잠금을 해제해야 합니다.

CPrintDialogEx::GetDriverName

DoModal 또는 GetDefaults를 호출한 후 이 함수를 호출하여 시스템 정의 프린터 디바이스 드라이버의 이름을 검색합니다.

CString GetDriverName() const;

Return Value

CString 시스템 정의 드라이버 이름을 지정하는 형식입니다.

설명

CDC::CreateDC 호출에서 lpszDriverName으로 반환 GetDriverName 된 개체에 대한 포인터 CString사용합니다.

CPrintDialogEx::GetPortName

DoModal 또는 GetDefaults를 호출한 후 이 함수를 호출하여 현재 선택한 프린터 포트의 이름을 검색합니다.

CString GetPortName() const;

Return Value

현재 선택한 프린터 포트의 이름입니다.

CPrintDialogEx::GetPrinterDC

프린터 디바이스 컨텍스트에 대한 핸들을 반환합니다.

HDC GetPrinterDC() const;

Return Value

프린터 디바이스 컨텍스트에 대한 핸들입니다.

설명

사용이 완료되면 Windows DeleteDC 함수를 호출하여 디바이스 컨텍스트를 삭제해야 합니다.

CPrintDialogEx::m_pdex

멤버가 대화 상자 개체의 특성을 저장하는 PRINTDLGEX 구조체입니다.

PRINTDLGEX m_pdex;

설명

개체를 생성한 CPrintDialogEx 후 DoModal 멤버 함수를 호출하기 전에 대화 상자의 다양한 측면을 설정하는 데 사용할 m_pdex 수 있습니다. 구조에 m_pdex 대한 자세한 내용은 Windows SDK의 PRINTDLGEX를 참조하세요.

데이터 멤버를 m_pdex 직접 수정하는 경우 기본 동작을 재정의합니다.

CPrintDialogEx::P rintAll

호출 후 이 함수를 호출 DoModal 하여 문서의 모든 페이지를 인쇄할지 여부를 결정합니다.

BOOL PrintAll() const;

Return Value

문서의 모든 페이지를 인쇄해야 하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CPrintDialogEx::P rintCollate

호출 후 이 함수를 호출 DoModal 하여 프린터에서 문서의 인쇄된 모든 복사본을 정렬해야 하는지 여부를 확인합니다.

BOOL PrintCollate() const;

Return Value

TRUE이면 대화 상자에서 데이터 정렬 확인란을 선택합니다. 그렇지 않으면 FALSE입니다.

CPrintDialogEx::P rintCurrentPage

호출 후 이 함수를 호출 DoModal 하여 문서의 현재 페이지를 인쇄할지 여부를 결정합니다.

BOOL PrintCurrentPage() const;

Return Value

인쇄 대화 상자에서 현재 페이지 인쇄를 선택하면 TRUE이고, 그렇지 않으면 FALSE입니다.

CPrintDialogEx::P rintRange

호출 후 이 함수를 호출 DoModal 하여 문서의 페이지 범위만 인쇄할지 여부를 결정합니다.

BOOL PrintRange() const;

Return Value

문서의 페이지 범위만 인쇄할 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

지정한 페이지 범위는 m_pdex(Windows SDK의 PRINTDLGEX 구조 참조 lpPageRanges nPageRangesnMaxPageRanges)에서 확인할 수 있습니다.

CPrintDialogEx::P rintSelection

호출 후 이 함수를 호출 DoModal 하여 현재 선택한 항목만 인쇄할지 여부를 결정합니다.

BOOL PrintSelection() const;

Return Value

선택한 항목만 인쇄하려면 TRUE이고, 그렇지 않으면 FALSE입니다.

참고 항목

CCommonDialog 클래스
계층 구조 차트
CPrintInfo 구조체