Imports CEpole.C_Epole

Public Class PropertyGrid_Ctl
    '//이것은 Label 개체의 속성을 가진다.
    Dim Obj() As CEpole.C_label
    Dim DF As Defalut_PrintForm
    Dim SF As Frm_Prnset
    Dim Pos As Integer
    Public Sub New(ByRef pObj As ArrayList, ByRef pDF As Defalut_PrintForm, ByRef pSetfrm As Frm_Prnset, Optional ByVal vPos As Integer = 0)
        ReDim Obj(pObj.Count - 1)
        For i As Integer = 0 To pObj.Count - 1
            Obj(i) = pObj.Item(i)
        Next
        DF = pDF
        SF = pSetfrm
        Pos = vPos
    End Sub
    Public Sub New(ByRef pObj() As CEpole.C_label, ByRef pDF As Defalut_PrintForm, ByRef pSetfrm As Frm_Prnset, Optional ByVal vPos As Integer = 0)
        Obj = pObj
        DF = pDF
        SF = pSetfrm
        Pos = vPos
    End Sub

    <Category("개체조정"), Description("개체의 전경색(글자일경우 글자색)")> _
    Public Property 전경색 As System.Drawing.Color
        Get
            Return Obj(Pos).ForeColor2
        End Get
        Set(value As System.Drawing.Color)
            For Each C As C_label In Obj
                C.ForeColor2 = value
            Next
            DF.preview_window()
        End Set
    End Property

    <Category("개체조정"), Description("개체의 위치 : X(좌), Y(위)로부터 떨어진 거래를 뜻합니다.")> _
    Public Property 위치x() As Single
        Get
            Return Obj(Pos).Left
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.Left = value
            Next
            DF.preview_window()
        End Set
    End Property
    <Category("개체조정"), Description("개체의 위치 : X(좌), Y(위)로부터 떨어진 거래를 뜻합니다.")> _
    Public Property 위치y() As Single
        Get
            Return Obj(Pos).Top
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.Top = value
            Next
            DF.preview_window()
        End Set
    End Property


    '<Category("개체조정"), Description("H를 패턴에서 별도처리합니다.")> _
    'Public Property 개별패턴H() As Boolean
    '    Get
    '        Return Obj(Pos).UseHPattern
    '    End Get
    '    Set(ByVal value As Boolean)
    '        For Each C As C_label In Obj
    '            C.UseHPattern = value
    '        Next
    '        DF.preview_window()
    '    End Set
    'End Property
    <Category("개체조정"), Description("글자의 너비를 조절합니다.")> _
    Public Property 너비() As Single
        Get
            Return Obj(Pos).WordWidth
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.WordWidth = value
            Next
            DF.preview_window()
        End Set
    End Property

    <Category("개체조정"), Description("글자의 높이를 조절합니다.")> _
    Public Property 높이() As Single
        Get
            Return Obj(Pos).WordHeight
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.WordHeight = value
            Next

            DF.preview_window()
        End Set
    End Property

    <Category("개체조정"), Description("글자사이의 간격을 변경합니다. 1단위당 1칸의 공백이 추가됩니다.")> _
    Public Property 자간() As Short
        Get
            Return Obj(Pos).WordSpace
        End Get
        Set(ByVal value As Short)
            For Each C As C_label In Obj
                C.WordSpace = value
            Next

            DF.preview_window()
        End Set
    End Property

    <Category("개체조정"), Description("개체의 글꼴을 설정합니다.")> _
    Public Property 글꼴() As System.Drawing.Font
        Get
            Return Obj(Pos).Font
        End Get
        Set(ByVal value As System.Drawing.Font)
            For Each C As C_label In Obj
                C.Font = value
            Next

            DF.preview_window()
        End Set
    End Property
    <Category("개체조정"), Description("개체의 글꼴을 설정합니다.")> _
    Public Property 글꼴크기() As Single
        Get
            Return Obj(Pos).Font.Size
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                Dim NewFont As New System.Drawing.Font(C.Font.FontFamily, value)
                C.Font = NewFont
            Next


            DF.preview_window()
        End Set
    End Property

    <Category("개체조정"), Description("개체의 문자를 변경합니다(고정문자식에만 적용됨)")> _
    Public Property 문자() As String
        Get
            Return Obj(Pos).Text
        End Get
        Set(ByVal value As String)
            For Each C As C_label In Obj
                If C.Fixed Then
                    C.Text = value
                    'DF.preview_window()
                Else
                    MsgBox("이 개체는 문자를 변경할 수 없습니다", MsgBoxStyle.Critical, "확인")
                End If
            Next

            DF.preview_window()
        End Set
    End Property

    <Category("반복출력"), Description("지정된개체를 반복해서 출력합니다")> _
    Public Property 반복횟수() As Short
        Get
            Return Obj(Pos).Repeat
        End Get
        Set(ByVal value As Short)

            For Each C As C_label In Obj
                C.Repeat = value
            Next


            DF.preview_window()
        End Set
    End Property
    <Category("반복출력"), Description("지정된개체를 반복해서 출력합니다")> _
    Public Property 다음위치X() As Single
        Get
            Return Obj(Pos).RepeatX
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.RepeatX = value
            Next

            DF.preview_window()
        End Set
    End Property

    <Category("반복출력"), Description("지정된개체를 반복해서 출력합니다")> _
    Public Property 다음위치Y() As Single
        Get
            Return Obj(Pos).RepeatY
        End Get
        Set(ByVal value As Single)
            For Each C As C_label In Obj
                C.RepeatY = value
            Next

            DF.preview_window()
        End Set
    End Property


    

End Class

Public Class PropertyGrid_Paper
    '//이것은 페이지의 속성을 가진다.
    Structure S_Size
        Dim 가로 As Short
        Dim 세로 As Short
        Public Sub New(ByVal w As Short, ByVal h As Short)
            가로 = w
            세로 = h
        End Sub
    End Structure

    Dim v가로확대 As Single
    Dim v세로확대 As Single
    Dim v연속출력횟수 As Short
    Dim v분리출력횟수 As Short
    Dim v용지방향 As C_Epole.E_PaperOrient
    Dim v연속여백x, v연속여백y As Single
    Dim v연속옵션 As C_Epole.E_Dummytype
    Dim v배경 As System.Drawing.Image
    Dim v그림파일 As System.IO.File
    Dim v파일선택 As New System.Windows.Forms.Button
    Dim v출력여백x, v출력여백y As Single
    Dim v분리여백x, v분리여백y As Single
    Dim v그리기개체반복 As Boolean

    Dim DF As Defalut_PrintForm
    Dim SF As Frm_Prnset

    Public Sub New(ByRef pDF As Defalut_PrintForm, ByRef pSetfrm As Frm_Prnset)
        DF = pDF
        SF = pSetfrm
    End Sub

    <Category("페이지속성"), Description("페이지의 출력방향을 선택하세요.")> _
    Public Property 용지방향() As C_Epole.E_PaperOrient
        Get
            Return v용지방향
        End Get
        Set(ByVal value As C_Epole.E_PaperOrient)
            v용지방향 = value
            DF.SaveReadLayOut_NEW(True)
        End Set
    End Property

    <Category("페이지속성"), Description("출력시 사용할 좌측,우측의 여백입니다.")> _
    Public Property 출력여백X() As Single
        Get
            Return v출력여백x
        End Get
        Set(ByVal value As Single)
            v출력여백x = value
        End Set
    End Property
    <Category("페이지속성"), Description("출력시 사용할 좌측,우측의 여백입니다.")> _
    Public Property 출력여백Y() As Single
        Get
            Return v출력여백y
        End Get
        Set(ByVal value As Single)
            v출력여백y = value
        End Set
    End Property

    <Category("페이지속성"), Description("출력시 출력물의 크기를 지정한 비율대로 조절합니다.")> _
    Public Property 가로확대비율() As Single
        Get
            Return Me.v가로확대
        End Get
        Set(ByVal value As Single)
            v가로확대 = value
        End Set
    End Property

    <Category("페이지속성"), Description("출력시 출력물의 크기를 지정한 비율대로 조절합니다.")> _
    Public Property 세로확대비율() As Single
        Get
            Return Me.v세로확대
        End Get
        Set(ByVal value As Single)
            v세로확대 = value
        End Set
    End Property

    <Category("연속출력"), Description("2장출력 기능의 사용여부를 결정합니다.")> _
    Public Property 출력장수() As Short
        Get
            Return v연속출력횟수
        End Get
        Set(ByVal value As Short)
            v연속출력횟수 = value
            DF.preview_window()
        End Set
    End Property

    <Category("연속출력"), Description("2장출력 기능이 사용될때 추가로 설정가능합니다. 특정 갯수를 출력 후에 줄 바꿈등을 하려면 해당 갯수를 입력합니다.")> _
    Public Property 분리갯수() As Short
        Get
            Return v분리출력횟수
        End Get
        Set(ByVal value As Short)
            v분리출력횟수 = value
            DF.preview_window()
        End Set
    End Property

    <Category("연속출력"), Description("2장출력시 2번째출력되는 데이터의 좌측,우측의 여백입니다.")> _
    Public Property 연속여백x() As Single
        Get
            Return v연속여백x
        End Get
        Set(ByVal value As Single)
            v연속여백x = value
            DF.preview_window()
        End Set
    End Property

    <Category("연속출력"), Description("2장출력시 2번째출력되는 데이터의 좌측,우측의 여백입니다.")> _
    Public Property 연속여백y() As Single
        Get
            Return v연속여백y
        End Get
        Set(ByVal value As Single)
            v연속여백y = value
            DF.preview_window()
        End Set
    End Property

    <Category("연속출력"), Description("분리갯수가 입력되었다면 해당 분리갯수에따른 줄 분리가 작동할때 다음줄과 이전줄과의 X여백값입니다.")> _
    Public Property 분리여백x() As Single
        Get
            Return v분리여백x
        End Get
        Set(ByVal value As Single)
            v분리여백x = value
            DF.preview_window()
        End Set
    End Property
    <Category("연속출력"), Description("분리갯수가 입력되었다면 해당 분리갯수에따른 줄 분리가 작동할때 다음줄과 이전줄과의 Y여백값입니다.")> _
    Public Property 분리여백y() As Single
        Get
            Return v분리여백y
        End Get
        Set(ByVal value As Single)
            v분리여백y = value
            DF.preview_window()
        End Set
    End Property

    <Category("연속출력"), Description("그리기개체들도 반복 출력합니다.")> _
    Public Property 그리기개체반복() As Boolean
        Get
            Return v그리기개체반복
        End Get
        Set(ByVal value As Boolean)
            v그리기개체반복 = value
            DF.preview_window()
        End Set
    End Property


    <Category("연속출력"), Description("2번째출력되는 데이터를 설정합니다. 현재복사는 같은데이터가 연속으로나오게 됩니다")> _
    Public Property 출력방법() As C_Epole.E_Dummytype
        Get
            Return v연속옵션
        End Get
        Set(ByVal value As C_Epole.E_Dummytype)
            v연속옵션 = value
            DF.preview_window()
        End Set
    End Property

   
End Class

Public Class PropertyGrid_Box
    '//이것은 Shape_Box 의 상태설정
    Dim Obj As C_Epole.S_Box
    Dim SF As Frm_Prnset
    Dim Offset As Short

    Public Sub New(ByVal voffset As Short, ByRef pSetfrm As Frm_Prnset)
        SF = pSetfrm
        Obj = SF.Pform.Draw_Box.item(voffset)
        Me.Offset = voffset
    End Sub

    <Category("개체조정"), Description("박스의 시작좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표X() As Single
        Get
            Return Obj.X
        End Get
        Set(ByVal value As Single)
            Obj.X = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("박스의 시작좌표 : Y(위) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표Y() As Single
        Get
            Return Obj.Y
        End Get
        Set(ByVal value As Single)
            Obj.Y = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("박스의 가로길이를 입력하세요.")> _
    Public Property 가로길이() As Single
        Get
            Return Obj.Width
        End Get
        Set(ByVal value As Single)
            Obj.Width = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("박스의 세로길이를 입력하세요.")> _
    Public Property 세로길이() As Single
        Get
            Return Obj.Height
        End Get
        Set(ByVal value As Single)
            Obj.Height = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("박스의 색상을 선택하세요.")> _
    Public Property 색상() As Drawing.Color
        Get
            Return Obj.PenColor
        End Get
        Set(ByVal value As Drawing.Color)
            Obj.PenColor = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("박스의 두께를 입력하세요.")> _
    Public Property 선굵기() As Single
        Get
            Return Obj.PenWidth
        End Get
        Set(ByVal value As Single)
            Obj.PenWidth = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set

    End Property

    <Category("개체조정"), Description("박스의 휘어짐 수치를 입력하세요.")> _
    Public Property 휘어짐() As Single
        Get
            Try
                Return Obj.Radius
            Catch ex As Exception
                Return 0
            End Try

        End Get
        Set(ByVal value As Single)
            Obj.Radius = value
            SF.Pform.Draw_Box.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set

    End Property
End Class

Public Class PropertyGrid_Circle
    '//이것은 Shape_Box 의 상태설정
    Dim Obj As C_Epole.S_Circle
    Dim SF As Frm_Prnset
    Dim Offset As Short

    Public Sub New(ByVal voffset As Short, ByRef pSetfrm As Frm_Prnset)
        SF = pSetfrm
        Obj = SF.Pform.Draw_Circle.item(voffset)
        Me.Offset = voffset
    End Sub

    <Category("개체조정"), Description("시작좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표X() As Single
        Get
            Return Obj.X
        End Get
        Set(ByVal value As Single)
            Obj.X = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("시작좌표 : Y(위) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표Y() As Single
        Get
            Return Obj.Y
        End Get
        Set(ByVal value As Single)
            Obj.Y = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("원의 너비를 입력하세요.")> _
    Public Property 너비() As Single
        Get
            Return Obj.Width
        End Get
        Set(ByVal value As Single)
            Obj.Width = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("원의 높이를 입력하세요.")> _
    Public Property 높이() As Single
        Get
            Return Obj.Height
        End Get
        Set(ByVal value As Single)
            Obj.Height = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("원의 색상을 선택하세요.")> _
    Public Property 색상() As Drawing.Color
        Get
            Return Obj.PenColor
        End Get
        Set(ByVal value As Drawing.Color)
            Obj.PenColor = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("원의 두께를 입력하세요.")> _
    Public Property 선굵기() As Single
        Get
            Return Obj.PenWidth
        End Get
        Set(ByVal value As Single)
            Obj.PenWidth = value
            SF.Pform.Draw_Circle.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set

    End Property

    '<Category("개체조정"), Description("박스의 휘어짐 수치를 입력하세요.")> _
    '   Public Property 휘어짐() As Single
    '    Get
    '        Try
    '            Return Obj.Radius
    '        Catch ex As Exception
    '            Return 0
    '        End Try

    '    End Get
    '    Set(ByVal value As Single)
    '        Obj.Radius = value
    '        SF.Pform.Draw_Box.item(Offset) = Obj
    '        SF.Pform.preview_window()
    '        SF.Refresh_Drawlist()
    '    End Set

    'End Property
End Class

Public Class PropertyGrid_Line
    '//이것은 Shape_Box 의 상태설정
    Dim Obj As C_Epole.S_Line
    Dim SF As Frm_Prnset
    Dim offset As Short

    Public Sub New(ByVal voffset As Short, ByRef pSetfrm As Frm_Prnset)
        SF = pSetfrm
        Obj = SF.Pform.Draw_Line.Item(voffset)
        Me.offset = voffset
    End Sub

    <Category("개체조정"), Description("선의 시작좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표X() As Single
        Get
            Return Obj.X
        End Get
        Set(ByVal value As Single)
            Obj.X = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("선의 시작좌표 : Y(위) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표Y() As Single
        Get
            Return Obj.Y
        End Get
        Set(ByVal value As Single)
            Obj.Y = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("선의 종료좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 종료좌표X() As Single
        Get
            Return Obj.X2
        End Get
        Set(ByVal value As Single)
            Obj.X2 = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("선의 종료좌표 : Y(우) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 종료좌표Y() As Single
        Get
            Return Obj.Y2
        End Get
        Set(ByVal value As Single)
            Obj.Y2 = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("선의 색상을 선택하세요.")> _
    Public Property 색상() As Drawing.Color
        Get
            Return Obj.PenColor
        End Get
        Set(ByVal value As Drawing.Color)
            Obj.PenColor = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("선의 두께를 입력하세요.")> _
    Public Property 선굵기() As Single
        Get
            Return Obj.PenWidth
        End Get
        Set(ByVal value As Single)
            Obj.PenWidth = value
            SF.Pform.Draw_Line.Item(offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

End Class

Public Class PropertyGrid_Image
    '//이것은 Shape_Box 의 상태설정
    Dim Obj As C_Epole.S_Image
    Dim SF As Frm_Prnset
    Dim Offset As Short

    Public Sub New(ByVal voffset As Short, ByRef pSetfrm As Frm_Prnset)
        SF = pSetfrm
        Obj = SF.Pform.Draw_Image.item(voffset)
        Me.Offset = voffset
    End Sub

    <Category("개체조정"), Description("시작좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표X() As Single
        Get
            Return Obj.X
        End Get
        Set(ByVal value As Single)
            Obj.X = value
            SF.Pform.Draw_Image.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("시작좌표 : Y(위) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표Y() As Single
        Get
            Return Obj.Y
        End Get
        Set(ByVal value As Single)
            Obj.Y = value
            SF.Pform.Draw_Image.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("박스의 가로길이를 입력하세요.")> _
    Public Property 가로길이() As Single
        Get
            Return Obj.Width
        End Get
        Set(ByVal value As Single)
            Obj.Width = value
            SF.Pform.Draw_Image.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("박스의 세로길이를 입력하세요.")> _
    Public Property 세로길이() As Single
        Get
            Return Obj.Height
        End Get
        Set(ByVal value As Single)
            Obj.Height = value
            SF.Pform.Draw_Image.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("박스의 세로길이를 입력하세요.")> _
    Public Property 파일명() As String
        Get
            Return Obj.FileName
        End Get
        Set(ByVal value As String)
            Obj.FileName = value
            SF.Pform.Draw_Image.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

End Class

Public Class PropertyGrid_QRcode
    '//이것은 Shape_Box 의 상태설정
    Dim Obj As C_Epole.S_QRCode
    Dim SF As Frm_Prnset
    Dim Offset As Short

    Public Sub New(ByVal voffset As Short, ByRef pSetfrm As Frm_Prnset)
        SF = pSetfrm
        Obj = SF.Pform.Draw_QRcode.item(voffset)
        Me.Offset = voffset
    End Sub

    <Category("색상"), Description("데이터색상")>
    Public Property 전경색() As System.Drawing.Color
        Get
            Return Obj.fColor
        End Get
        Set(ByVal value As Drawing.Color)
            Obj.fColor = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("색상"), Description("데이터배경색상")>
    Public Property 배경색() As System.Drawing.Color
        Get
            Return Obj.bColor
        End Get
        Set(ByVal value As Drawing.Color)
            Obj.bColor = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("시작좌표 : X(좌) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표X() As Single
        Get
            Return Obj.X
        End Get
        Set(ByVal value As Single)
            Obj.X = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("시작좌표 : Y(위) 로부터 떨어진 거리를 뜻합니다.")> _
    Public Property 시작좌표Y() As Single
        Get
            Return Obj.Y
        End Get
        Set(ByVal value As Single)
            Obj.Y = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property


    <Category("개체조정"), Description("박스의 가로길이를 입력하세요.")> _
    Public Property 가로길이() As Single
        Get
            Return Obj.Width
        End Get
        Set(ByVal value As Single)
            Obj.Width = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property
    <Category("개체조정"), Description("박스의 세로길이를 입력하세요.")> _
    Public Property 세로길이() As Single
        Get
            Return Obj.Height
        End Get
        Set(ByVal value As Single)
            Obj.Height = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("표시할 문자를 입력하세요."), Browsable(False)> _
    Public Property 출력문자() As String
        Get
            Return Obj.QRData
        End Get
        Set(ByVal value As String)
            Obj.QRData = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("QR코드 인코딩 방법을 선택하세요.")> _
    Public Property 인코딩() As EQR_Incoding
        Get
            Return Obj.Encoding
        End Get
        Set(ByVal value As EQR_Incoding)
            Obj.Encoding = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("QR코드 버젼을 선택하세요.")> _
    Public Property 버젼() As EQR_Version
        Get
            Return Obj.Version
        End Get
        Set(ByVal value As EQR_Version)
            Obj.Version = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("QR코드 보정레벨을 선택하세요.")> _
    Public Property 보정레벨() As EQR_CLEVE
        Get
            Return Obj.CLeve
        End Get
        Set(ByVal value As EQR_CLEVE)
            Obj.CLeve = value
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("QR코드의 크기를 입력하세요")> _
    Public Property 크기() As Integer
        Get
            If (Obj.Size < 1) Then Obj.Size = 4
            Return Obj.Size
        End Get
        Set(ByVal value As Integer)
            Obj.Size = value
            If Obj.Size < 1 Then Obj.Size = 4 '//기본4
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

    <Category("개체조정"), Description("기본출력포맷을 입력하세요. 기본값('{DATA}')은 입력데이터 그대로의 출력을 의미합니다.")> _
    Public Property 출력포맷() As String
        Get
            If Obj.Format = "" Then
                Return "{DATA}"
            Else
                Return Obj.Format
            End If
        End Get
        Set(ByVal value As String)
            Obj.Format = value
            If Obj.Size < 1 Then Obj.Size = 4 '//기본4
            SF.Pform.Draw_QRcode.item(Offset) = Obj
            SF.Pform.preview_window()
            SF.Refresh_Drawlist()
        End Set
    End Property

End Class