Visual Basic 6.0 사용자를 위한 Printer 개체

업데이트: 2007년 11월

Visual Basic 6.0 Printer 개체는 Visual Basic 2008에서 PrintDocument 구성 요소로 대체되었습니다. 이 둘의 동작은 서로 상당히 다르지만 대부분의 경우 기능은 동일합니다.

개념적 차이

Visual Basic 6.0에서는 Printer 개체를 만들고 그래픽 메서드를 사용하여 가상 페이지에 텍스트와 그래픽을 그려서 인쇄를 수행합니다. 속성과 메서드를 사용하여 DeviceName, PrintQuality 또는 Copies 등의 프린터 특성을 정의하며 Orientation 및 PaperSize 등의 다른 속성은 페이지 자체의 특성을 정의합니다. EndDoc 메서드는 Printers 컬렉션에 정의된 응용 프로그램의 기본 프린터로 출력을 전송합니다.

Visual Basic 2008에는 Printer 개체가 더 이상 존재하지 않습니다. 대신 PrintDocument 구성 요소를 사용하여 그래픽과 텍스트를 정의하고, PrinterSettings 개체를 사용하여 프린터 특성을 정의하며, PageSettings 클래스를 사용하여 페이지 특성을 정의합니다.

참고:

Visual Basic 2008에는 업그레이드한 Visual Basic 6.0 Printer 코드를 수정 없이 실행할 수 있도록 해주는 Printer 개체가 있습니다. 그러나 새로운 개발 작업에는 PrintDocument를 사용해야 합니다.

이제 더 이상 인쇄가 특정 장치에 종속되지 않으며 응용 프로그램의 기본 프린터 개념도 더 이상 유효하지 않습니다. 대신 PrintDocument 구성 요소의 PrintPage 메서드를 사용하여 모든 장치에 인쇄할 수 있으며 기본 프린터는 시스템 전체에 적용됩니다. PrintDialog, PrintPreviewDialog 및 PageSetupDialog 구성 요소를 사용하면 사용자가 런타임에 프린터와 인쇄 옵션을 선택할 수 있습니다.

ColorMode 속성

Visual Basic 6.0에서는 ColorMode 속성이 컬러 프린터에서 출력을 단색으로 인쇄할 것인지 여부를 제어합니다.

Visual Basic 2008에서는 프린터에 따라 이 옵션이 고급 옵션으로 표시됩니다. PrinterSettings 클래스의 SupportsColor 속성을 사용하여 프린터의 색 기능을 확인할 수 있습니다.

DriverName 속성

Visual Basic 6.0에서는 Printer 개체의 DriverName 속성을 사용하여 프린터 드라이버를 지정합니다. Windows 이전 버전과 MS-DOS에서는 출력을 특정 상표 및 모델의 프린터가 인식할 수 있는 형태로 변환하기 위해 프린터 드라이버가 필요했습니다. Visual Basic 6.0에서는 대부분의 경우 이러한 프린터 드라이버가 필요하지 않지만 그 속성은 이전 버전과의 호환성을 위해 유지됩니다.

Visual Basic 2008에는 DriverName 속성이 더 이상 존재하지 않습니다. 프린터 드라이버는 Windows에서 관리하며 사용자가 다른 드라이버를 지정할 수 없습니다.

hDC 속성

Visual Basic 6.0에서는 Printer 개체의 hDC 속성이 장치 컨텍스트(Windows 기반 응용 프로그램, 장치 드라이버 및 프린터와 같은 출력 장치 간의 연결)에 대한 핸들을 지정합니다.

Visual Basic 2008에는 hDC 속성이 더 이상 존재하지 않습니다. PrintDocument 구성 요소의 인스턴스가 장치 컨텍스트 역할을 합니다.

참고:

장치 컨텍스트에 대한 핸들이 더 이상 필요 없지만 그래픽 개체에는 고급 시나리오에 사용할 수 있는 GetHdcReleaseHdc 메서드가 있습니다.

Page 속성

Visual Basic 6.0에서 Page 속성은 응용 프로그램 시작 후 또는 EndDoc 문이 Printer 개체에 마지막으로 사용된 후 인쇄된 페이지의 수를 반환합니다. 이 속성은 인쇄하는 동안 각 페이지에 페이지 번호를 추가하는 용도로 많이 사용됩니다.

Visual Basic 2008에서는 페이지 번호를 추적하지 않습니다. 그러나 BeginPrint 이벤트에 변수를 설정하고 PrintPage 이벤트에서 이 변수를 증가시키는 방법으로 페이지 수를 쉽게 관리할 수 있습니다.

Port 속성

Visual Basic 6.0에서는 Port 속성이 문서가 프린터로 전송될 때 사용되는 포트의 이름을 반환합니다.

Visual Basic 2008에는 Port 속성이 더 이상 존재하지 않습니다. PrintDialog 및 PrintPreviewDialog 컨트롤이 포트 정보를 자동으로 관리합니다.

RightToLeft 속성

Visual Basic 6.0에서는 RightToLeft 속성이 Printer 개체가 아랍어 Windows 95 또는 히브리어 Windows 95 등의 양방향 플랫폼에서 출력 형식을 지정하는 방법을 결정합니다.

Visual Basic 2008에는 RightToLeft 속성이 더 이상 필요하지 않습니다. 인쇄 방향은 최신 Windows 버전의 지역화 설정에 의해 제어됩니다.

TrackDefault 속성

Visual Basic 6.0에서는 TrackDefault 속성이 Printer 개체가 항상 같은 프린터를 가리키도록 할 것인지 아니면 운영 체제의 제어판에서 기본 프린터 설정을 변경할 경우 다른 프린터로 변경하도록 할 것인지를 결정합니다. 인쇄 작업이 처리되고 있는 동안 TrackDefault 속성 설정을 변경하면 인쇄가 즉시 중지됩니다.

Visual Basic 2008에는 TrackDefault 속성이 더 이상 존재하지 않습니다. PrinterSettings 클래스의 IsDefaultPrinter 속성을 사용하면 프린터가 기본 프린터인지 확인할 수 있지만 이제는 기본 프린터가 변경되더라도 인쇄 작업이 중지되지 않습니다.

Zoom 속성

Visual Basic 6.0에서는 Zoom 속성이 인쇄된 출력을 확대하거나 축소할 백분율을 결정합니다. 예를 들어, Zoom을 50으로 설정하여 Letter 크기 페이지를 인쇄한다고 생각해 봅니다. Letter 크기 페이지의 인쇄된 텍스트와 그래픽이 원래 높이 및 너비의 절반으로 축소되기 때문에 17*22인치 크기의 페이지에 해당하는 데이터가 이 페이지에 포함됩니다.

Visual Basic 2008에는 Zoom 속성이 더 이상 존재하지 않습니다. 프린터에 확대/축소 기능이 있으면 해당 설정이 자동으로 인쇄 대화 상자에 표시됩니다. 또한 출력을 PrintDocument 구성 요소에 할당하기 전에 그래픽 메서드를 사용하여 배율을 조정할 수 있습니다.

그래픽 속성 및 메서드

Visual Basic 6.0에서는 여러 그래픽 속성과 메서드를 사용하여 Printer 개체에 선, 모양 및 텍스트를 그릴 수 있습니다.

Visual Basic 2008에서는 대부분의 개체에 자체 그래픽 속성이나 메서드가 더 이상 존재하지 않습니다. 그러나 Graphics 개체를 만들어서 사용하면 선, 모양 및 텍스트를 그릴 수 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Printer 개체에 대한 코드 변경

Visual Basic 6.0과 Visual Basic 2008의 인쇄 모델 간에는 상당한 차이가 있기 때문에 코딩 기술을 비교하는 것은 별 의미가 없습니다. Visual Basic 2008에서의 인쇄 예제를 보려면 인쇄 샘플을 참조하십시오.

Printer 개체 속성 및 메서드

다음 표에는 Visual Basic 6.0의 속성과 메서드 및 이에 해당하는 Visual Basic 2008 요소가 나와 있습니다. 이름과 동작이 같은 속성과 메서드는 나열되지 않습니다. 다른 설명이 없는 한 모든 Visual Basic 2008 열거형은 System.Windows.Forms 네임스페이스로 매핑됩니다.

이 표에서는 동작의 차이점을 설명하는 항목에 대한 링크를 제공합니다. 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.

속성

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

ColorMode

새롭게 구현되었습니다. PrinterSettings 클래스의 SupportsColor 속성을 사용하여 프린터의 색 기능을 확인할 수 있습니다.

Copies

PrinterSettings 클래스의 Copies 속성

CurrentX

CurrentY

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

DeviceName

PrinterSettings 클래스의 PrinterName 속성

DrawMode

DrawStyle

DrawWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

DriverName

새롭게 구현되었습니다. 더 이상 필요가 없습니다. 프린터 드라이버를 Windows에서 관리합니다.

Duplex

PrinterSettings 클래스의 Duplex 속성

FillColor

FillStyle

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Font

FontBold

FontCount

FontItalic

FontName

Fonts

FontSize

FontStrikeThru

FontTransparent

FontUnderline

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 글꼴 처리를 참조하십시오.

ForeColor

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 처리를 참조하십시오.

hDC

더 이상 필요하지 않습니다. PrintDocument 구성 요소의 인스턴스는 장치 컨텍스트와 동일합니다.

Height

PageSettings 클래스의 PaperSize 속성

Orientation

PageSettings 클래스의 Landscape 속성

Page

새롭게 구현되었습니다. 이제는 현재 페이지 번호를 추적하지 않습니다. 그러나 BeginPrint 이벤트에서 변수를 설정하고 PrintPage 이벤트에서 이 변수를 증가시키는 방법을 사용하여 쉽게 추적할 수 있습니다.

PaperBin

PrinterSettings 클래스의 PaperSources 속성

PaperSize

PageSettings 클래스의 PaperSize 속성

Port

더 이상 필요하지 않습니다. PrintPreviewDialog 컨트롤에서 자동으로 포트 정보를 설정합니다.

PrintQuality

PrinterSettings 클래스의 PrinterResolutions 속성

RightToLeft

더 이상 필요가 없습니다. Windows의 지역화 설정을 통해 인쇄 방향을 제어합니다.

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

TrackDefault

해당 요소가 없습니다. PrinterSettings 클래스의 IsDefaultPrinter 속성을 사용하여 프린터가 기본 프린터인지 확인할 수 있습니다.

TwipsPerPixelX

TwipsPerPixelY

더 이상 필요가 없습니다. Visual Basic 2005에서는 항상 픽셀 단위를 사용합니다.

Width

PageSettings 클래스의 PaperSize 속성

Zoom

더 이상 필요가 없습니다. 프린터에 확대/축소 기능이 있으면 이에 관한 설정이 자동으로 인쇄 대화 상자에 나타납니다.

메서드

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Circle

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

EndDoc

Print

KillDoc

Cancel

Line

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

NewPage

HasMorePages

PaintPicture

PSet

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Scale

ScaleX

ScaleY

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

TextHeight

TextWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

업그레이드 참고 사항

Visual Basic 6.0 응용 프로그램을 Visual Basic 2008로 업그레이드하면 Printer 개체의 모든 인스턴스가 Visual Basic 2008의 Printer 개체로 업그레이드됩니다.

참고 항목

작업

인쇄 샘플

개념

Visual Basic 6.0 사용자를 위한 인쇄 변경 사항

Visual Basic 6.0 사용자를 위한 그래픽

참조

PageSettings

PrinterSettings

기타 리소스

Windows Forms 인쇄 지원