인쇄 대화 상자

인쇄 대화 상자에는 사용자를 특정 인쇄 작업에 대 한 옵션을 선택 수 있습니다. 예를 들어, 사용자 사용 하 여 프린터, 인쇄, 페이지 범위 및 매수를 지정할 수 있습니다.

Windows NT 5.0 및 이후: 인쇄 속성 시트인쇄 대화 상자와 비슷한 컨트롤을 포함 하는 일반 페이지를 표시 하려면 PrintDlgEx 함수를 사용할 수 있습니다. 속성 시트 추가 응용 프로그램 및 드라이버 속성 페이지 일반 페이지 다음 가질 수 있습니다.

만들고 PRINTDLG 구조를 초기화 하 고 구조 PrintDlg 함수에 전달 하 여 인쇄 대화 상자를 표시 합니다.

다음 그림에서는 일반적인 인쇄 대화 상자를 보여 줍니다.

사용자가 확인 단추를 클릭 하는 경우 PrintDlg TRUE를 반환 하 고 PRINTDLG 구조를 사용 하 여 사용자의 선택에 대 한 정보를 반환 합니다. 예를 들어, hDevMode 구성원과 hDevNames 일반적으로 대 한 전역 메모리 핸들을 반환 DEVMODEDEVNAMES 구조. 이러한 구조에서 정보를 사용 하 여 선택한 프린터 디바이스 컨텍스트 또는 정보 컨텍스트를 만들 수 있습니다.

경우 사용자가 인쇄 대화 상자를 취소 또는 오류가 발생 하면, PrintDlg FALSE를 반환 합니다. 확장된 오류 값을 검색 하려면 CommDlgExtendedError 함수를 사용 하 여 오류의 원인을 확인할 수 있습니다.

사용자가 모든 페이지, 페이지 범위 또는 선택한 텍스트만 인쇄 하려고 여부를 나타내는 라디오 단추의 인쇄 범위 그룹을 포함 하는 인쇄 대화 상자. PrintDlg를 호출 하기 전에 단추를 처음 선택 된 PD_ALLPAGES, PD_SELECTION, 또는 PD_PAGENUMS 플래그 중 하나를 설정할 수 있습니다. PrintDlg TRUE를 반환 하는 경우 함수는 사용자의 선택 항목을 나타내는 데 이러한 플래그 중 하나를 설정 합니다. PD_PAGENUMS을 설정 하는 경우 시작 및 끝 페이지는 사용자가 지정한 PRINTDLG 구조 nFromPagenToPage 멤버 포함 합니다. 페이지 라디오 버튼 연결 에서 및 편집 컨트롤을 사용 하지 않으려면 PD_NOPAGENUMS 플래그를 설정 합니다. 선택 라디오 단추를 비활성화 하려면 PD_NOSELECTION 플래그를 설정.

대화 상자는 사용자에 인쇄할 복사본의 수를 입력할 수 있는 편집 컨트롤을 포함 합니다. PRINTDLG 구조 hDevMode 멤버가 NULL이 아닌 경우의 dmCopies 멤버는 DEVMODE 구조가 편집 컨트롤에 대 한 초기 값을 지정 합니다. HDevMode NULL 이면 PRINTDLG 구조체의 nCopies 멤버는 초기 값을 지정 합니다. PrintDlg 반환, nCopies 는 일반적으로 사용자가 지정한 매수를 나타냅니다. 그러나 대화 상자를 만들 때 PD_USEDEVMODECOPIESANDCOLLATE 플래그를 설정 하는 경우 nCopies 은 항상 반환에 1로 설정 됩니다 및 DEVMODEdmCopies 멤버에 인쇄할 복사본의 수를 나타냅니다.

한 부씩 인쇄 확인란 사용자가 여러 복사본을 인쇄 하는 경우에 페이지를 한 부씩 인쇄 하려고 여부를 나타냅니다. 한 부씩 인쇄 확인란을 선택 하는 경우 PD_COLLATE 플래그가 설정 되어 있습니다. 응용 프로그램이 여러 개의 복사본 또는 시뮬레이션된 데이터 정렬을 지원 하지 않으면, PRINTDLG 구조의 플래그 구성원에서 PD_USEDEVMODECOPIESANDCOLLATE 플래그를 설정 합니다. 이 한 부씩 인쇄 확인란을 사용할 수 없게 하 고 번호의 복사본 편집 컨트롤 프린터 드라이버가 여러 복사본 및 데이터 정렬을 지원 하지 않으면.

파일로 인쇄 확인란 프린터 대신 파일에 출력을 보내도록 사용자가 있는지 여부를 나타냅니다. 체크 박스 체크 처음 그래서 PD_PRINTTOFILE 플래그를 설정할 수 있습니다. 체크 상자를 숨기려면 PD_HIDEPRINTTOFILE 플래그를 설정 합니다. 그것을 해제 하려면 PD_DISABLEPRINTTOFILE 플래그를 설정 합니다. 파일로 인쇄 옵션을 선택 하는 경우 PrintDlg PD_PRINTTOFILE 플래그를 설정 하 고 반환 "파일:" DEVNAMES 구조체의 wOutputOffset 멤버에 의해 지정 된 오프셋에서 합니다. 호출 하는 경우는 인쇄 작업을 시작 하려면 StartDoc 함수 지정이 "파일:" 문자열의 lpszOutput 멤버에는 DOCINFO 구조체. 이 문자열을 지정 하면 출력 파일의 이름에 대 한 사용자 쿼리를 인쇄 하위 시스템.

기본적으로 인쇄 대화 상자는 처음 현재 기본 프린터에 대 한 정보를 표시합니다. 초기화 하 여 다른 설치 된 프린터에 대 한 정보를 표시 하도록 지정할 수 있습니다 한 DEVMODE 또는 DEVNAMES 구조와 글로벌 메모리 할당 hDevMode 또는 hDevNames 멤버 구조에 대 한 핸들. DEVMODE 구조체의 dmDeviceName 멤버 또는 DEVNAMES 구조체의 wDriverOffset 멤버를 지정 하는 장치 이름을 또한 승리 [장치] 섹션에 나열 된 프린터 장치를 식별 해야 합니다.INI 파일입니다. PrintDlg 오류가 반환 된 장치가 나열 되지 않는 경우.

PrintDlg PRINTDLG 구조의 플래그 구성원에서 PD_RETURNDC 또는 PD_RETURNIC 플래그를 설정 하 여 프린터에 대 한 장치 컨텍스트 또는 정보 컨텍스트를 만들려면 지시할 수 있습니다. 함수는 hDC 구성원에서 장치 컨텍스트 또는 정보 컨텍스트 핸들을 반환합니다. 프린터에 대 한 출력을 생성 하려면 장치 컨텍스트를 사용할 수 PD_RETURNDC 플래그를 사용 하는 경우.

인쇄 대화 상자를 표시 하지 않고 기본 프린터에 대 한 정보를 검색 하려면 PD_RETURNDEFAULT 플래그가 설정 합니다. 이 경우 PrintDlg hDevModehDevNames 회원 정보를 포함 하는 구조에 대 한 핸들을 설정 후 즉시 반환.

기본적으로 PrintDlg 오류가 발생 하면 메시지 상자를 표시 합니다. 예를 들어, 함수 없음 프린터를 설치 하는 경우 오류 메시지를 표시 합니다. 함수를 이러한 경고 메시지를 표시 하지 않도록 하려면 PD_NOWARNING 플래그를 설정.

 

Index