137 lines
4.8 KiB
VB.net
137 lines
4.8 KiB
VB.net
Option Explicit On
|
|
Option Infer On
|
|
Option Strict On
|
|
|
|
Imports System.Windows.Forms
|
|
Imports GdPicture14
|
|
|
|
Public Class frmViewerPrint
|
|
|
|
Enum PrintOrientation
|
|
AutoDetection
|
|
Portrait
|
|
Paysage
|
|
End Enum
|
|
|
|
Enum PagesToPrint
|
|
All
|
|
Selection
|
|
Current
|
|
Range
|
|
End Enum
|
|
|
|
Public Structure PrintSettings
|
|
Public Printer As String
|
|
Public Copies As Short
|
|
Public Collate As Boolean
|
|
Public PrintSize As PrintSizeOption
|
|
Public PrintAlignment As PrintAlignment
|
|
Public Orientation As PrintOrientation
|
|
Public PagesToPrint As PagesToPrint
|
|
Public PageRange As String
|
|
End Structure
|
|
|
|
Private m_printSettings As PrintSettings
|
|
Private ReadOnly m_owner As GdViewer
|
|
|
|
Public ReadOnly Property printConfiguration() As PrintSettings
|
|
Get
|
|
Return m_printSettings
|
|
End Get
|
|
End Property
|
|
|
|
|
|
Private ReadOnly m_isSelectionPartial As Boolean
|
|
Private ReadOnly m_isEmptySelection As Boolean
|
|
|
|
Public Sub New(ByVal owner As GdViewer)
|
|
InitializeComponent()
|
|
m_owner = owner
|
|
End Sub
|
|
|
|
Private Sub frmPrint_Load(ByVal sender As Object, ByVal e As EventArgs)
|
|
cmbPrinterList.Items.Clear()
|
|
For i As Integer = 1 To m_owner.PrintGetPrintersCount()
|
|
Dim printerName As String = m_owner.PrintGetPrinterName(i)
|
|
cmbPrinterList.Items.Add(printerName)
|
|
If printerName = m_owner.PrintGetActivePrinter() Then
|
|
cmbPrinterList.SelectedIndex = cmbPrinterList.Items.IndexOf(printerName)
|
|
End If
|
|
Next i
|
|
|
|
cmbPrintSize.Items.Add("Actual size") '0 = PrintSizeOptionActual
|
|
cmbPrintSize.Items.Add("Fit to page") '1 = PrintSizeOptionFit, default
|
|
cmbPrintSize.Items.Add("Shrink oversized pages") '2 = PrintSizeOptionShrinkOversized
|
|
cmbPrintSize.SelectedIndex = 2
|
|
|
|
cmbPrintAlignment.Items.Add("Middle left") '0 = PrintAlignmentMiddleLeft
|
|
cmbPrintAlignment.Items.Add("Middle right") '1 = PrintAlignmentMiddleRight
|
|
cmbPrintAlignment.Items.Add("Middle center") '2 = PrintAlignmentMiddleCenter
|
|
cmbPrintAlignment.Items.Add("Default") '3 = PrintAlignmentDefault
|
|
cmbPrintAlignment.Items.Add("Top left") '4 = PrintAlignmentTopLeft
|
|
cmbPrintAlignment.Items.Add("Top right") '5 = PrintAlignmentTopRight
|
|
cmbPrintAlignment.Items.Add("Top center") '6 = PrintAlignmentTopCenter
|
|
cmbPrintAlignment.Items.Add("Bottom left") '7 = PrintAlignmentBottomLeft
|
|
cmbPrintAlignment.Items.Add("Bottom right") '8 = PrintAlignmentBottomRight
|
|
cmbPrintAlignment.Items.Add("Bottom center") '9 = PrintAlignmentBottomCenter
|
|
cmbPrintAlignment.SelectedIndex = 2
|
|
|
|
If m_isEmptySelection Then
|
|
rbPageRangeSelection.Enabled = False
|
|
Else
|
|
If m_isSelectionPartial Then
|
|
rbPageRangeSelection.Checked = True
|
|
End If
|
|
End If
|
|
txtPageRangeStart.Enabled = False
|
|
txtPageRangeEnd.Enabled = False
|
|
txtPageRangeStart.Text = "1"
|
|
txtPageRangeEnd.Text = m_owner.PageCount.ToString()
|
|
|
|
btnPrint.DialogResult = DialogResult.OK
|
|
btnCancel.DialogResult = DialogResult.Cancel
|
|
End Sub
|
|
|
|
Private Sub btnPrinterProperties_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPrinterProperties.Click
|
|
|
|
End Sub
|
|
|
|
Private Sub cmbPrinterList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cmbPrinterList.SelectedIndexChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub btnCancel_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCancel.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub rbPageRangeAll_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbPageRangeAll.CheckedChanged
|
|
rbPageRangeGeneric_CheckedChanged()
|
|
End Sub
|
|
|
|
Private Sub rbPageRangeSelection_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbPageRangeSelection.CheckedChanged
|
|
rbPageRangeGeneric_CheckedChanged()
|
|
End Sub
|
|
|
|
Private Sub rbPageRangeCurrent_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbPageRangeCurrent.CheckedChanged
|
|
rbPageRangeGeneric_CheckedChanged()
|
|
End Sub
|
|
|
|
Private Sub rbPageRangePages_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbPageRangePages.CheckedChanged
|
|
rbPageRangeGeneric_CheckedChanged()
|
|
End Sub
|
|
|
|
Private Sub rbPageRangeGeneric_CheckedChanged()
|
|
If rbPageRangePages.Checked Then
|
|
txtPageRangeStart.Enabled = True
|
|
txtPageRangeEnd.Enabled = True
|
|
Else
|
|
txtPageRangeStart.Enabled = False
|
|
txtPageRangeEnd.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPrint.Click
|
|
|
|
End Sub
|
|
|
|
End Class |