|
|
|
|
@@ -265,7 +265,7 @@ Public Class Defalut_PrintForm
|
|
|
|
|
''' 초기화합니다.
|
|
|
|
|
''' </summary>
|
|
|
|
|
''' <remarks></remarks>
|
|
|
|
|
Public Sub Initialize(ByVal V_Srctable As DataTable, ByVal styleTag As String, _
|
|
|
|
|
Public Sub Initialize(ByVal V_Srctable As DataTable, ByVal styleTag As String,
|
|
|
|
|
ByVal v_SettingFile As String, ByVal v_DefStyleIndex As Short, Optional ByVal ADT As DataTable = Nothing, Optional ByVal OT As Boolean = False)
|
|
|
|
|
|
|
|
|
|
RaiseEvent StatusMessage("폼을 초기화합니다", e_EventMessage.Normal)
|
|
|
|
|
@@ -882,7 +882,12 @@ Public Class Defalut_PrintForm
|
|
|
|
|
Dr = StyleList(SetForm.cmb_style.SelectedIndex).PATTERNTABLE.Select("설명 = '" & pname2 & TOBJ.Name & "FONT'")
|
|
|
|
|
If Dr.GetUpperBound(0) = 0 Then
|
|
|
|
|
CTLFONT = Dr(0)(1).ToString.Split(",")
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), IIf(CTLFONT(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If CTLFONT(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If CTLFONT(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If CTLFONT(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
TOBJ.WordWidth = CTLFONT(5) '//장평
|
|
|
|
|
TOBJ.WordHeight = CTLFONT(6) '//장높이
|
|
|
|
|
End If
|
|
|
|
|
@@ -1009,7 +1014,11 @@ Public Class Defalut_PrintForm
|
|
|
|
|
Dr = StyleList(SetForm.cmb_style.SelectedIndex).PATTERNTABLE.Select("설명 = '" & pname & TOBJ.Name & "FONT'")
|
|
|
|
|
If Dr.GetUpperBound(0) = 0 Then
|
|
|
|
|
CTLFONT = Dr(0)(1).ToString.Split(",")
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), IIf(CTLFONT(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If CTLFONT(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If CTLFONT(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If CTLFONT(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
TOBJ.WordWidth = CTLFONT(5) '//장평
|
|
|
|
|
TOBJ.WordHeight = CTLFONT(6) '//장높이
|
|
|
|
|
End If
|
|
|
|
|
@@ -1088,7 +1097,11 @@ Public Class Defalut_PrintForm
|
|
|
|
|
Dr = StyleList(SetForm.cmb_style.SelectedIndex).PATTERNTABLE.Select("설명 = '" & pname & TOBJ.Name & "FONT'")
|
|
|
|
|
If Dr.GetUpperBound(0) = 0 Then
|
|
|
|
|
CTLFONT = Dr(0)(1).ToString.Split(",")
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), IIf(CTLFONT(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If CTLFONT(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If CTLFONT(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If CTLFONT(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
TOBJ.Font = New Font(CTLFONT(0), CTLFONT(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
TOBJ.WordWidth = CTLFONT(5)
|
|
|
|
|
TOBJ.WordHeight = CTLFONT(6)
|
|
|
|
|
'MsgBox(CTLFONT(0))
|
|
|
|
|
@@ -1536,126 +1549,235 @@ Public Class Defalut_PrintForm
|
|
|
|
|
'//라인을 그린다.
|
|
|
|
|
Dim I As Short = 0
|
|
|
|
|
Try
|
|
|
|
|
If Not Me.Draw_Line Is Nothing AndAlso Not Draw_Line.Items Is Nothing Then
|
|
|
|
|
For Each Rect As S_Line In Me.Draw_Line.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
|
|
|
|
|
For Each Rect As S_Line In Me.Draw_Line.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
Dim NewSX2 As Single = Rect.X2
|
|
|
|
|
Dim NewSY2 As Single = Rect.Y2
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
Dim NewSX2 As Single = Rect.X2
|
|
|
|
|
Dim NewSY2 As Single = Rect.Y2
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
NewSX2 += RowOffsetX
|
|
|
|
|
NewSY2 += RowOffsetY
|
|
|
|
|
|
|
|
|
|
NewSX2 += RowOffsetX
|
|
|
|
|
NewSY2 += RowOffsetY
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
NewSX2 += SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY2 += SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
Ga.DrawLine(Pen, NewSX, NewSY, NewSX2, NewSY2)
|
|
|
|
|
|
|
|
|
|
Ga.DrawLine(Pen, NewSX, NewSY, NewSX2, NewSY2)
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
'//박스를 그린다.
|
|
|
|
|
I = 0
|
|
|
|
|
Try
|
|
|
|
|
For Each Rect As S_Box In Me.Draw_Box.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
If Not Me.Draw_Box Is Nothing AndAlso Not Me.Draw_Box.Items Is Nothing Then
|
|
|
|
|
For Each Rect As S_Box In Me.Draw_Box.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Rect.Radius = 0 Then
|
|
|
|
|
Ga.DrawRectangle(Pen, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Else
|
|
|
|
|
Dim rRect As Rectangle = New Rectangle(NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Dim rpath As System.Drawing.Drawing2D.GraphicsPath = ACC.MYGDI.GetRoundedRectPath(rRect, Rect.Radius)
|
|
|
|
|
Ga.DrawPath(Pen, rpath)
|
|
|
|
|
End If
|
|
|
|
|
If Rect.Radius = 0 Then
|
|
|
|
|
Ga.DrawRectangle(Pen, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Else
|
|
|
|
|
Dim rRect As Rectangle = New Rectangle(NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Dim rpath As System.Drawing.Drawing2D.GraphicsPath = ACC.MYGDI.GetRoundedRectPath(rRect, Rect.Radius)
|
|
|
|
|
Ga.DrawPath(Pen, rpath)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
'//원 그린다.
|
|
|
|
|
I = 0
|
|
|
|
|
Try
|
|
|
|
|
For Each Rect As S_Circle In Me.Draw_Circle.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
If Not Draw_Circle Is Nothing AndAlso Not Me.Draw_Circle.Items Is Nothing Then
|
|
|
|
|
For Each Rect As S_Circle In Me.Draw_Circle.Items
|
|
|
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ga.DrawEllipse(Pen, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Next
|
|
|
|
|
Ga.DrawEllipse(Pen, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
'//이미지개체를 그린다.
|
|
|
|
|
I = 0
|
|
|
|
|
Try
|
|
|
|
|
For Each Rect As S_Image In Me.Draw_Image.Items
|
|
|
|
|
Dim F As String = Rect.FileName
|
|
|
|
|
If F.Trim <> "" Then
|
|
|
|
|
F = F.Replace(".\", My.Application.Info.DirectoryPath & "\")
|
|
|
|
|
' MsgBox(F)
|
|
|
|
|
If Not Draw_Image Is Nothing AndAlso Not Me.Draw_Image.Items Is Nothing Then
|
|
|
|
|
For Each Rect As S_Image In Me.Draw_Image.Items
|
|
|
|
|
Dim F As String = Rect.FileName
|
|
|
|
|
If F.Trim <> "" Then
|
|
|
|
|
F = F.Replace(".\", My.Application.Info.DirectoryPath & "\")
|
|
|
|
|
' MsgBox(F)
|
|
|
|
|
|
|
|
|
|
If System.IO.File.Exists(F) Then
|
|
|
|
|
Dim Image As Image = Image.FromFile(F) '//파일로부터 이미지를 가져옴
|
|
|
|
|
If System.IO.File.Exists(F) Then
|
|
|
|
|
Dim Image As Image = Image.FromFile(F) '//파일로부터 이미지를 가져옴
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Rect.Width = 0 OrElse Rect.Height = 0 Then
|
|
|
|
|
Ga.DrawImage(Image, NewSX, NewSY)
|
|
|
|
|
Else
|
|
|
|
|
Ga.DrawImage(Image, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
I = 0
|
|
|
|
|
'//QR코드를 그린다.
|
|
|
|
|
Try
|
|
|
|
|
'//QR코드를 그린다.
|
|
|
|
|
If Not Draw_QRcode Is Nothing AndAlso Not Me.Draw_QRcode.Items Is Nothing Then
|
|
|
|
|
For Each Rect As S_QRCode In Me.Draw_QRcode.Items
|
|
|
|
|
'Dim scale As Int16
|
|
|
|
|
' Dim version As Int16
|
|
|
|
|
Dim image As Image
|
|
|
|
|
Dim data As String = ""
|
|
|
|
|
' Dim errorCorrect As String
|
|
|
|
|
Dim qrCodeEncoder1 As New ThoughtWorks.QRCode.Codec.QRCodeEncoder()
|
|
|
|
|
' Dim encoding As String
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qrCodeEncoder1.QRCodeEncodeMode = CInt(Rect.Encoding)
|
|
|
|
|
qrCodeEncoder1.QRCodeErrorCorrect = CInt(Rect.CLeve)
|
|
|
|
|
qrCodeEncoder1.QRCodeVersion = Rect.Version
|
|
|
|
|
qrCodeEncoder1.QRCodeScale = Rect.Size
|
|
|
|
|
|
|
|
|
|
'encoding = "3"
|
|
|
|
|
'If encoding = "3" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE
|
|
|
|
|
'ElseIf encoding = "1" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC
|
|
|
|
|
'ElseIf encoding = "2" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.NUMERIC
|
|
|
|
|
' Try
|
|
|
|
|
' version = Convert.ToInt16("1")
|
|
|
|
|
' qrCodeEncoder.QRCodeVersion = version
|
|
|
|
|
' Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
' End Try
|
|
|
|
|
'End If
|
|
|
|
|
'errorCorrect = "1"
|
|
|
|
|
'If errorCorrect = "1" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.L
|
|
|
|
|
'ElseIf errorCorrect = "2" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M
|
|
|
|
|
'ElseIf errorCorrect = "3" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.Q
|
|
|
|
|
'ElseIf errorCorrect = "4" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.H
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
If Rect.Format = "" Then Rect.Format = "{DATA}"
|
|
|
|
|
Rect.Format = Rect.Format.Replace("{DATA}", "{QR1}")
|
|
|
|
|
Rect.Format = Rect.Format.Replace("{QR}", "{QR1}") '//151029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'//151029 qr코드버그처리
|
|
|
|
|
Dim PrintQRCODE As String = Rect.Format.Replace("{QR1}", QRCODE1)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR2}", QRCODE2)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR3}", QRCODE3)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR4}", QRCODE4)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{번호}", 일련번호)
|
|
|
|
|
If PrintQRCODE <> "" Then '//사용자가 입력한 데이터가 있다.
|
|
|
|
|
|
|
|
|
|
'Ga.DrawString(QRCODE, New Font("arial", 30), Brushes.Black, 100, 100)
|
|
|
|
|
|
|
|
|
|
qrCodeEncoder1.QRCodeBackgroundColor = Rect.bColor
|
|
|
|
|
qrCodeEncoder1.QRCodeForegroundColor = Rect.fColor
|
|
|
|
|
image = qrCodeEncoder1.Encode(PrintQRCODE, Ga.DpiX, Ga.DpiY)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
@@ -1678,110 +1800,15 @@ Public Class Defalut_PrintForm
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Rect.Width = 0 OrElse Rect.Height = 0 Then
|
|
|
|
|
Ga.DrawImage(Image, NewSX, NewSY)
|
|
|
|
|
Ga.DrawImage(image, NewSX, NewSY)
|
|
|
|
|
Else
|
|
|
|
|
Ga.DrawImage(Image, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
Ga.DrawImage(image, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
I = 0
|
|
|
|
|
'//QR코드를 그린다.
|
|
|
|
|
Try
|
|
|
|
|
'//QR코드를 그린다.
|
|
|
|
|
For Each Rect As S_QRCode In Me.Draw_QRcode.Items
|
|
|
|
|
'Dim scale As Int16
|
|
|
|
|
' Dim version As Int16
|
|
|
|
|
Dim image As Image
|
|
|
|
|
Dim data As String = ""
|
|
|
|
|
' Dim errorCorrect As String
|
|
|
|
|
Dim qrCodeEncoder1 As New ThoughtWorks.QRCode.Codec.QRCodeEncoder()
|
|
|
|
|
' Dim encoding As String
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qrCodeEncoder1.QRCodeEncodeMode = CInt(Rect.Encoding)
|
|
|
|
|
qrCodeEncoder1.QRCodeErrorCorrect = CInt(Rect.CLeve)
|
|
|
|
|
qrCodeEncoder1.QRCodeVersion = Rect.Version
|
|
|
|
|
qrCodeEncoder1.QRCodeScale = Rect.Size
|
|
|
|
|
|
|
|
|
|
'encoding = "3"
|
|
|
|
|
'If encoding = "3" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE
|
|
|
|
|
'ElseIf encoding = "1" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC
|
|
|
|
|
'ElseIf encoding = "2" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.NUMERIC
|
|
|
|
|
' Try
|
|
|
|
|
' version = Convert.ToInt16("1")
|
|
|
|
|
' qrCodeEncoder.QRCodeVersion = version
|
|
|
|
|
' Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
' End Try
|
|
|
|
|
'End If
|
|
|
|
|
'errorCorrect = "1"
|
|
|
|
|
'If errorCorrect = "1" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.L
|
|
|
|
|
'ElseIf errorCorrect = "2" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M
|
|
|
|
|
'ElseIf errorCorrect = "3" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.Q
|
|
|
|
|
'ElseIf errorCorrect = "4" Then
|
|
|
|
|
' qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.H
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
If Rect.Format = "" Then Rect.Format = "{DATA}"
|
|
|
|
|
Rect.Format = Rect.Format.Replace("{DATA}", "{QR1}")
|
|
|
|
|
Rect.Format = Rect.Format.Replace("{QR}", "{QR1}") '//151029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'//151029 qr코드버그처리
|
|
|
|
|
Dim PrintQRCODE As String = Rect.Format.Replace("{QR1}", QRCODE1)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR2}", QRCODE2)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR3}", QRCODE3)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{QR4}", QRCODE4)
|
|
|
|
|
PrintQRCODE = PrintQRCODE.Replace("{번호}", 일련번호)
|
|
|
|
|
If PrintQRCODE <> "" Then '//사용자가 입력한 데이터가 있다.
|
|
|
|
|
|
|
|
|
|
'Ga.DrawString(QRCODE, New Font("arial", 30), Brushes.Black, 100, 100)
|
|
|
|
|
|
|
|
|
|
qrCodeEncoder1.QRCodeBackgroundColor = Rect.bColor
|
|
|
|
|
qrCodeEncoder1.QRCodeForegroundColor = Rect.fColor
|
|
|
|
|
image = qrCodeEncoder1.Encode(PrintQRCODE, Ga.DpiX, Ga.DpiY)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dim NewSX As Single = Rect.X
|
|
|
|
|
Dim NewSY As Single = Rect.Y
|
|
|
|
|
|
|
|
|
|
If RowIndex > 0 Then '//연속출력일때에는 줄구분 값을 사용한다.
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * (dummycnt - RowIndex * SetForm.MyProperty_Paper.분리갯수)
|
|
|
|
|
Else
|
|
|
|
|
NewSX += SetForm.MyProperty_Paper.연속여백x * dummycnt
|
|
|
|
|
NewSY += SetForm.MyProperty_Paper.연속여백y * dummycnt
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
NewSX += RowOffsetX
|
|
|
|
|
NewSY += RowOffsetY
|
|
|
|
|
|
|
|
|
|
If Print Then
|
|
|
|
|
NewSX += +SetForm.MyProperty_Paper.출력여백X
|
|
|
|
|
NewSY += +SetForm.MyProperty_Paper.출력여백Y
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Rect.Width = 0 OrElse Rect.Height = 0 Then
|
|
|
|
|
Ga.DrawImage(image, NewSX, NewSY)
|
|
|
|
|
Else
|
|
|
|
|
Ga.DrawImage(image, NewSX, NewSY, Rect.Width, Rect.Height)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
|
|
|
|
End Try
|
|
|
|
|
@@ -2115,7 +2142,14 @@ Public Class Defalut_PrintForm
|
|
|
|
|
'//상태를 읽어서 바로 적용한다.
|
|
|
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
|
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If font(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If font(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If font(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
Tobj.WordWidth = font(5)
|
|
|
|
|
Tobj.WordHeight = font(6)
|
|
|
|
|
Tobj.WordSpace = Arinini.Read(StyleName, Tobj.Name & "space", 0)
|
|
|
|
|
@@ -2136,7 +2170,13 @@ Public Class Defalut_PrintForm
|
|
|
|
|
'//상태를 읽어서 바로 적용한다.
|
|
|
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
|
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If font(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If font(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If font(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
Tobj.WordWidth = font(5)
|
|
|
|
|
Tobj.WordHeight = font(6)
|
|
|
|
|
Tobj.WordSpace = Arinini.Read(StyleName, Tobj.Name & "space", 0)
|
|
|
|
|
@@ -2395,7 +2435,11 @@ Public Class Defalut_PrintForm
|
|
|
|
|
font = DR(0)(1).ToString.Split(",")
|
|
|
|
|
Tobj.WordWidth = font(5)
|
|
|
|
|
Tobj.WordHeight = font(6)
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If font(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If font(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If font(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
' MsgBox(font(0))
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
@@ -2454,7 +2498,11 @@ Public Class Defalut_PrintForm
|
|
|
|
|
font = DR(0)(1).ToString.Split(",")
|
|
|
|
|
Tobj.WordWidth = font(5)
|
|
|
|
|
Tobj.WordHeight = font(6)
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
|
|
|
Dim fStyle As FontStyle = FontStyle.Regular
|
|
|
|
|
If font(2).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Underline
|
|
|
|
|
If font(3).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Bold
|
|
|
|
|
If font(4).ToUpper() = "TRUE" Then fStyle = fStyle Or FontStyle.Italic
|
|
|
|
|
Tobj.Font = New Font(font(0), font(1), fStyle, GraphicsUnit.Point)
|
|
|
|
|
' MsgBox(font(0))
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
@@ -3063,7 +3111,7 @@ Public Class Defalut_PrintForm
|
|
|
|
|
|
|
|
|
|
Tobj = Nothing
|
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
|
|
|
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso _
|
|
|
|
|
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso
|
|
|
|
|
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize.Width)) _
|
|
|
|
|
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize.Height))) Then
|
|
|
|
|
Tobj = Me.AllLabels(i)
|
|
|
|
|
@@ -3158,7 +3206,7 @@ Public Class Defalut_PrintForm
|
|
|
|
|
If Me.DMode = E_DesignMode.Text Then
|
|
|
|
|
Dim Tobj As CEpole.C_label = Nothing
|
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
|
|
|
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso _
|
|
|
|
|
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso
|
|
|
|
|
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize.Width)) _
|
|
|
|
|
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize.Height))) Then
|
|
|
|
|
Tobj = Me.AllLabels(i)
|
|
|
|
|
@@ -3205,7 +3253,7 @@ Public Class Defalut_PrintForm
|
|
|
|
|
|
|
|
|
|
RaiseEvent StatusMessage(">> Create DataView" & DataFilter, e_EventMessage.Normal)
|
|
|
|
|
If Dv.Count <= 0 Then '//데이터가없다면
|
|
|
|
|
MsgBox(StyleList(SelIndex).Desc & "에 해당하는 데이터가존재하지 않습니다" & vbCrLf & _
|
|
|
|
|
MsgBox(StyleList(SelIndex).Desc & "에 해당하는 데이터가존재하지 않습니다" & vbCrLf &
|
|
|
|
|
vbCrLf & "다른 스타일을 선택하세요", MsgBoxStyle.Information, "확인")
|
|
|
|
|
Me.v_picturebox1.Image = Nothing
|
|
|
|
|
Else
|
|
|
|
|
@@ -3443,7 +3491,7 @@ Public Class Defalut_PrintForm
|
|
|
|
|
' ' Me.bt_SC.ForeColor = Color.Red
|
|
|
|
|
' Me.bt_SL.ForeColor = Color.Black
|
|
|
|
|
End Select
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If Not bt_SL2 Is Nothing Then Me.bt_SL2.ForeColor = bt_SL.ForeColor
|
|
|
|
|
End With
|
|
|
|
|
|
|
|
|
|
|