Imports System.Windows.Forms
Imports System.Drawing
Imports ThoughtWorks.QRCode.Codec '//QR코드
Imports ThoughtWorks.QRCode.Codec.Util
Imports ThoughtWorks.QRCode.Codec.Data
Public Class Frm_Prnset
'Enum E_Ftyle
' 가공번호찰 = 1
' 가로등 = 2
' 정액등 = 3
' 지중번호찰 = 4
' 수용번호찰 = 5
'End Enum
'Public PType As E_Ftyle
Public Pform As Defalut_PrintForm '//이폼을 부른 부모폼을 참조한다.
Public Style As C_Epole.SCStyle '//현재선택된스타일의 정보를 가지고잇다 속성컨트롤 연결을위해 생성했다
Public MyProperty_Detail As PropertyGrid_Ctl
Public MyProperty_Paper As PropertyGrid_Paper
'//프린터여백
Public Sub New()
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
End Sub
Public Sub New(ByVal parent As Form)
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
Pform = parent
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
End Sub
Private Sub Frm_Prnset_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
'Me.NewFp1.ASetting_Save(False, "view_" & Pform.StyleTag, "\ViewConfig\" & Pform.StyleTag & "_")
Me.Save_PrinterName()
End Sub
Private Sub Frm_Prnset_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.F8
Me.bt_preview.PerformClick()
Case Keys.F9
Me.bt_print.PerformClick()
End Select
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.cmb_prnlist.Items.Clear()
For Each Pname As String In C_Epole.GetPrintersName
Me.cmb_prnlist.Items.Add(Pname)
Next
Me.cmb_prnlist.Items.Add("Image - JPEG")
Me.Load_Printername() '//저장된 기본프린터명을 셋팅한다.
Dim Tmsg As System.Text.StringBuilder
Tmsg = New System.Text.StringBuilder()
Tmsg.AppendLine()
Tmsg.AppendLine("▼ 연속된 페이지는 -(마이너스) 로 구분합니다")
Tmsg.AppendLine(" 예) 2페이지에서 8페이지까지 : 2-8")
Tmsg.AppendLine()
Tmsg.AppendLine("▼ 불규칙 페이지는 ,(콤마) 로 구분합니다")
Tmsg.AppendLine(" 예) 1,3,4,10 페이지 : 1,3,4,7")
Tmsg.AppendLine()
Tmsg.AppendLine("▼ 각조건의 구분은 /(슬래쉬) 로 구분합니다")
Tmsg.AppendLine(" 예) 2~8페이지와 11,15번 페이지 : 2-8/11,15")
Tmsg.AppendLine()
Me.ToolTip1.SetToolTip(Me.tb_printrange, Tmsg.ToString)
End Sub
'''
''' 환경파일에 현재지정된 프린터명을 기록합니다.
'''
'''
Public Sub Save_PrinterName()
Eini.Write("PRINTFORM", "printername", Me.cmb_prnlist.Text) '//패턴검사조건 콤보박스
End Sub
'''
''' 공통적으로 적용될 설정을 불러오거나/저장합니다.(현재는 지정프린터명)
'''
'''
Public Sub Load_Printername()
'Arin.WLog2(Auto_Log, "현재설정(스타일)을 가져옵니다.()", LogFile)
'Arin.WLog2(Auto_Log, "Load_Setting()", LogFile)
Dim Data As String = Eini.Read("PRINTFORM", "printername", "")
'MsgBox("프린터명 " & Data & "파일:" & Eini.FileName)
Me.cmb_prnlist.Text = Data
End Sub
Private Sub cmb_style_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmb_style.KeyUp
'//Arin.WLog2(Auto_Log, "스타일콤보박스에서 keyip 이 감지되었으나 핸들을 true 로 해버린다.", LogFile)
e.Handled = True
End Sub
'//190223
Function getStyleIndex() As Integer
If cmb_style.Text.Trim = "" Then Return -1
Dim nostr As String = cmb_style.Text.Substring(1, cmb_style.Text.IndexOf("]") - 1)
Return Integer.Parse(nostr)
End Function
'''
''' 현재 선택된 스타일정보를 이폼의 Style 구조체에 기록
'''
'''
Private Sub Set_current_Style()
Dim SStyle As C_Epole.SStyle = StyleList(getStyleIndex())
Style.Margin = New Point(SStyle.MarginX, SStyle.MarginY)
Style.Scale = New Point(SStyle.ScaleX, SStyle.ScaleY)
Style.Dummy = SStyle.Dummy
Style.Dummytype = SStyle.Dummytype
Style.DummyMargin = New Point(SStyle.dummmyx, SStyle.dummmyy)
Style.Orient = SStyle.LandScape
Style.UseBG = SStyle.Viewimage
End Sub
Private Sub cmb_style_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_style.SelectedIndexChanged
If Me.cmb_style.SelectedIndex > -1 Then
'//선택된 스타일정보를 이곳 style 구조체에 저장한다.
Me.MyProperty_Paper = New PropertyGrid_Paper(Pform, Me)
Set_current_Style()
Pform.Selected_Style(getStyleIndex()) '//선택이 됬으므로 스타일을 보여준다.
'Me.Text = "속성창(" & StyleList(Me.cmb_style.SelectedIndex).File & ")"
'If System.IO.File.Exists(My.Application.Info.DirectoryPath & "\ViewConfig\" & Pform.StyleTag & ".xml") Then
' Me.NewFp1.Open(My.Application.Info.DirectoryPath & "\ViewConfig\" & Pform.StyleTag & ".xml")
' End If
Me.NewFp1.DataSource = Pform.BS
'MsgBox(Pform.BS.ToString())
'변경
'Me.NewFp1.ASetting_Load(False, "view_" & Pform.StyleTag, "\ViewConfig\" & Pform.StyleTag & "_")
'//페이지속성 프로퍼티에연결
Me.pg1.SelectedObject = Me.MyProperty_Paper
Else
Pform.AddMessage("[Frm_PrnSet] 에서 스타일콤보박스에 -1보다 작은값이 선택되었습니다")
End If
End Sub
Private Sub tb_printrange_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_printrange.TextChanged
If Me.rad_repeat.Checked = False Then Me.rad_rangecustom.Checked = True
End Sub
Public Sub ViewProperty(ByRef sender As CEpole.C_label, ByVal Message As String)
Pform.AddMessage("[1개의 개체 속성보기] : " & Message)
If sender Is Nothing Then
Pform.AddMessage("[1개의 개체 속성보기] : 발생자가 Nothing 입니다.")
Return
End If
Me.MyProperty_Detail = New PropertyGrid_Ctl(Pform.SelCon, Pform, Me)
Me.pg.SelectedObject = Me.MyProperty_Detail
'//선택된개체의 정보를 화면에 표시
Me.cb_visible.Checked = sender.visible
Me.cb_bold.Checked = sender.Font.Bold
Me.tb_x.Text = Me.MyProperty_Detail.위치x
Me.tb_y.Text = Me.MyProperty_Detail.위치y
Me.tb_w.Text = Me.MyProperty_Detail.너비
Me.tb_h.Text = Me.MyProperty_Detail.높이
Me.tb_size.Text = Me.MyProperty_Detail.글꼴크기
Me.tb_space.Text = Me.MyProperty_Detail.자간
Me.TB_FONTNAME.Text = Me.MyProperty_Detail.글꼴.FontFamily.Name
Me.tb_rx.Text = Me.MyProperty_Detail.다음위치X
Me.tb_ry.Text = Me.MyProperty_Detail.다음위치Y
Me.tb_rep.Text = Me.MyProperty_Detail.반복횟수
Me.lbFColor.BackColor = Me.MyProperty_Detail.전경색 '//160515
If Pform.SelCon.Count = 1 Then
Me.cmb_sep.SelectedIndex = Pform.AllFullLabels(sender.Gidx).LineType
Else '//다중개체가 선택되었을때는 ***** 를 표시하도록한다.
Dim Lt As CEpole.C_Epole.E_LineType = Pform.AllFullLabels(sender.Gidx).LineType
Dim AllSame As Boolean = True
For Each c As CEpole.C_label In Pform.SelCon
If Pform.AllFullLabels(c.Gidx).LineType <> Lt Then
AllSame = False
Exit For
End If
Next
If AllSame Then
Me.cmb_sep.SelectedIndex = Lt
Else
Me.cmb_sep.SelectedIndex = 3 '//모두같지않다면 ***** 로 변경
End If
End If
' Me.cb_seppattern.Checked = Pform.AllFullLabels(sender.Gidx).SeparatePattern '//개별패턴이 지정되는 그룹인지 확인한다.
If Pform.AllFullLabels(sender.Gidx).Ei = Pform.AllFullLabels(sender.Gidx).Si Then '//싱글패턴개체이므로 번호형식이 필요없다.
Me.cmb_sep.Enabled = False
Me.lb_numtype.Enabled = False
Me.lb_numtype.Text = "-,-,-"
Else
Me.cmb_sep.Enabled = True
Me.lb_numtype.Enabled = True
Me.lb_numtype.Text = Pform.AllFullLabels(sender.Gidx).NumType
End If
'//개체를 선택하면 탭페이지를 개체조정으로 자동변경한다.
Me.TabControl1.SelectedIndex = 2
End Sub
Private Sub cmb_controls_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_controls.SelectionChangeCommitted
For Each A As CEpole.C_label In Pform.SelCon
A.ForeColor = A.ForeColor2 ' Drawing.Color.Black '//선택된것들 죄다 검은색으로 160515
Next
Dim Selected As C_label = Pform.Get_Control(Me.cmb_controls.SelectedIndex)
Pform.SelCon.Clear()
Pform.SelCon.Add(Selected)
Selected.ForeColor = Drawing.Color.DodgerBlue
ViewProperty(Selected, "내부:개체선택콤보박스의 changed Commited")
Pform.preview_window()
End Sub
Private Sub cmb_controls_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_controls.SelectedIndexChanged
'//선택될때
If Me.cmb_controls.Text = "*****" Then '//다중선택으로 들어왔따.
ViewProperty(Pform.OnlyOne, "내부 : 개체선택콤보박스의 selectedindexchanged")
Else
If Me.cmb_controls.SelectedIndex < 0 Then Return
ViewProperty(Pform.Get_Control(Me.cmb_controls.SelectedIndex), "내부 : 개체선택콤보박스의 selectedindexchanged")
End If
End Sub
Public Sub SetFont() '//체크박스 상태에따라서 폰트를 변경합니다.
Dim B As System.Drawing.FontStyle
If Me.cb_bold.Checked = True Then B = FontStyle.Bold
Dim Tobj As CEpole.C_label
For Each a As CEpole.C_label In Pform.SelCon
Tobj = CType(a, CEpole.C_label)
Tobj.Font = New Font(Tobj.Font, B)
Next
Pform.preview_window()
End Sub
Public Function GetBgImgFile() As String
Return GetImgPath(Me.tb_picfile.Text)
End Function
Private Sub CbtstyleeditToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CbtstyleeditToolStripMenuItem.Click
Dim A As New StyleEdit(getStyleIndex(), Pform.StyleDir, Pform.AllFullLabels)
A.ShowDialog()
End Sub
Private Sub cmb_sep_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_sep.SelectionChangeCommitted
If Me.cmb_controls.SelectedIndex = -1 Then
If Me.cmb_controls.Text <> "*****" Then Return '//선택된게 없으면 넘어간다.다중개체일떄 건드리면 모두 바꾼다.
End If
If Me.cmb_sep.Text = "*****" Then Return
If Pform.SelCon.Count = 1 Then '//1개만 선택되었다.
Dim Gidx As Short = Pform.Get_Control(Me.cmb_controls.SelectedIndex).Gidx
Pform.AllFullLabels(Gidx).LineType = Me.cmb_sep.SelectedIndex '//해당라벨그룹의 표시형식을 변경
Pform.AddMessage(Pform.AllFullLabels(Gidx).Desc & "의 줄설정값이 " & Me.cmb_sep.SelectedIndex & " 로 변경되었습니다")
Pform.AddMessage("selecteion Changedcommit : " & Me.cmb_sep.SelectedIndex & " 로 변경되었습니다")
Else '//선택된개체전부를 바꿔줘야한다.
For Each C As C_label In Pform.SelCon
Dim Gidx As Short = C.Gidx
Pform.AllFullLabels(Gidx).LineType = Me.cmb_sep.SelectedIndex '//해당라벨그룹의 표시형식을 변경
Pform.AddMessage(Pform.AllFullLabels(Gidx).Desc & "의 줄설정값이 " & Me.cmb_sep.SelectedIndex & " 로 변경되었습니다")
Pform.AddMessage("selecteion Changedcommit : " & Me.cmb_sep.SelectedIndex & " 로 변경되었습니다")
Next
End If
End Sub
Private Sub lb_numtype_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles lb_numtype.KeyDown
If e.KeyCode = Keys.Enter Then
For Each C As C_label In Pform.SelCon
'If Me.cmb_controls.SelectedIndex = -1 Then Return '//선택된게 없으면 넘어간다.
Dim Gidx As Short = C.Gidx
Pform.AllFullLabels(Gidx).NumType = Me.lb_numtype.Text
Pform.AddMessage(Pform.AllFullLabels(Gidx).Desc & "의 번호형식이 " & Me.lb_numtype.Text & " 로 변경되었습니다")
Pform.AddMessage("Numtype_Text_Changed : " & Me.lb_numtype.Text & " 로 변경되었습니다")
Next
MsgBox("번호형식은 패턴저장후에 적용됩니다", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_preview.Click
Pform.Print_Preview()
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_print.Click
Pform.Print()
End Sub
Private Sub cb_dummy_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Pform.Refresh_Window()
End Sub
Public Function Make_NewStyle(Optional ByVal srcfile As String = "") As Boolean
If Pform.StyleDir.Exists = False Then Pform.StyleDir.Create() '//폴더가없으면 만든다.
'//090429 CFG형태로 변경한다
Dim File As String = "style" & Format(Now, "MMddhhmmss") '//확장자빠진 새로운파일명만 있다.
Dim Newfn As String = Pform.StyleDir.FullName & "\" & File
Dim NewDesc As String = InputBox("생성할 스타일의 이름을 입력하세요", "스타일생성", "신규스타일")
Dim NewFnFull As String
If NewDesc <> "" Then '//스타일설명이없다면 취소다
If srcfile <> "" Then '//소스파일이있다면 복사기능이다.
Dim SrcPAttern As String = srcfile.Substring(0, srcfile.IndexOf(".")) '//확장자빠진 실제파일명만있다.
'//파일명과같은 모든 확장자를 찾아서 복사를한다.
For Each FN As String In System.IO.Directory.GetFiles(Pform.StyleDir.FullName, SrcPAttern & ".*")
'//fn에서 확장자만 추출해서 새로운 파일명의 확장자에 붙인다.
Try
NewFnFull = Newfn & FN.Substring(FN.LastIndexOf("."))
IO.File.Copy(FN, NewFnFull, True)
Catch ex As Exception
'MessageBox.Show(ex.ToString())
End Try
Next
End If
Eini = New ACC.MyINI(Newfn & ".cfg")
If Eini.Exist = False Then Eini.Create()
Eini.Write("STYLE", "DESC", NewDesc)
Eini.Write("STYLE", "FILE", File)
Return True
End If
Return False
End Function
Public Function RenameStyle(ByVal srcfile As String) As Boolean
If Pform.StyleDir.Exists = False Then Pform.StyleDir.Create() '//폴더가없으면 만든다.
'//090429 CFG형태로 변경한다
Dim File As String = srcfile.Substring(0, srcfile.LastIndexOf(".")) & ".cfg" '//확장자빠진 새로운파일명만 있다.
Dim Newfn As String = Pform.StyleDir.FullName & "\" & File
Dim curname As String = Me.cmb_style.Text.Substring(Me.cmb_style.Text.IndexOf("]") + 2)
Dim NewDesc As String = InputBox("스타일의 이름을 입력하세요", "스타일이름변경", curname)
If NewDesc <> "" Then '//스타일설명이없다면 취소다
Eini = New ACC.MyINI(Newfn)
If Eini.Exist = False Then Eini.Create()
Eini.Write("STYLE", "DESC", NewDesc)
Return True
End If
Return False
End Function
Private Sub cbt_makenewstyle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_makenewstyle.Click
If Me.Make_NewStyle Then
MsgBox("스타일이 성공적으로 생성되었습니다" & vbCrLf & "출력창을 닫고 다시 열었을경우 반영됩니다", MsgBoxStyle.Information, "확인")
Else
MsgBox("스타일 생성이 취소되었거나 실패했습니다", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub cbt_copystyle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_copystyle.Click
If Me.Make_NewStyle(StyleList(getStyleIndex()).File) Then
MsgBox("스타일이 성공적으로 복사되었습니다" & vbCrLf & "출력창을 닫고 다시 열었을경우 반영됩니다", MsgBoxStyle.Information, "확인")
Else
MsgBox("스타일 복사가 취소되었거나 실패했습니다", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub cbt_del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbt_del.Click
If MsgBox("현재 스타일을 삭제하시겠습니까?", MsgBoxStyle.OkCancel Or MsgBoxStyle.Information, "삭제확인") = MsgBoxResult.Ok Then
Dim FI As New System.IO.FileInfo(Pform.StyleDir.FullName & "\" & StyleList(getStyleIndex()).File)
For Each File As System.IO.FileInfo In FI.Directory.GetFiles(FI.Name.Substring(0, FI.Name.LastIndexOf(".")) & ".*")
File.Delete()
Next
MsgBox("삭제되었습니다", MsgBoxStyle.Information, "확인")
Pform.Close()
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_imgtype.SelectedIndexChanged
If Me.cmb_imgtype.SelectedIndex = -1 Then Me.cmb_imgtype.SelectedIndex = 0
If Me.cmb_imgtype.SelectedIndex = 5 Then '//직접출력
Me.GroupBox1.Enabled = True
If Not Pform.Ctl_PictureBox.BackgroundImage Is Nothing Then
Me.bakimg.BackgroundImage = Me.Pform.Ctl_PictureBox.BackgroundImage
Me.Pform.Ctl_PictureBox.BackgroundImage = Nothing '//본 배경화면은 false
Else
If IO.File.Exists(Me.tb_picfile.Text) Then
' If Me.Chk_BgImage.Checked Then
Me.bakimg.BackgroundImage = Image.FromFile(Me.tb_picfile.Text)
'Else
' Me.bakimg.BackgroundImage = Nothing
' End If
End If
End If
'Pform.preview_window()
Else
Me.bakimg.BackgroundImage = Nothing '//셋팅화면의 배경은 쓰지않으므로 false 시킨다.
Me.GroupBox1.Enabled = False
Me.Pform.Ctl_PictureBox.BackgroundImageLayout = Me.cmb_imgtype.SelectedIndex
If IO.File.Exists(Me.tb_picfile.Text) Then
' If Me.Chk_BgImage.Checked Then
Me.bakimg.BackgroundImage = Image.FromFile(Me.tb_picfile.Text)
If Chk_BgImage.Checked Then
Pform.Ctl_PictureBox.BackgroundImage = Me.bakimg.BackgroundImage
End If
'Else
' Me.bakimg.BackgroundImage = Nothing
' End If
End If
' MsgBox("배경설정됨")
End If
End Sub
Private Sub tb_bakh_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_bakh.Click, tb_bakw.Click, tb_bakx.Click, tb_baky.Click
CType(sender, TextBox).SelectAll()
End Sub
Private Sub tb_bakh_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_bakh.GotFocus, tb_bakw.GotFocus, tb_bakx.GotFocus, tb_baky.GotFocus
CType(sender, TextBox).SelectAll()
End Sub
Private Sub tb_bakx_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_bakx.KeyDown, tb_baky.KeyDown, tb_bakw.KeyDown, tb_bakh.KeyDown
If e.KeyCode = Keys.Enter Then
Pform.preview_window()
End If
End Sub
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.rad_repeat.Checked Then
Me.GroupBox3.Text = "출력페이지수"
Me.rad_rangeall.Enabled = False
Me.rad_Rangecurr.Enabled = False
Me.rad_rangecustom.Enabled = False
Me.tb_printrange.Enabled = True
Me.tb_printrange.Text = "1"
Else
Me.rad_rangeall.Enabled = 1
Me.rad_Rangecurr.Enabled = 1
Me.rad_rangecustom.Enabled = 1
Me.tb_printrange.Enabled = True
Me.GroupBox3.Text = "인쇄범위"
Me.tb_printrange.Text = ""
End If
End Sub
Private Sub TabPage2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage2.Click
End Sub
Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Dim MinLeft As Short = 999
For Each A As CEpole.C_label In Pform.SelCon
If A.Left < MinLeft Then MinLeft = A.Left '//가장작으 Left값 추적
Next
For Each a As CEpole.C_label In Pform.SelCon
a.Left = MinLeft
Next
Pform.preview_window()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Dim MinLeft As Short = -999
For Each A As CEpole.C_label In Pform.SelCon
If A.Left > MinLeft Then MinLeft = A.Left '//가장작으 Left값 추적
Next
For Each a As CEpole.C_label In Pform.SelCon
a.Left = MinLeft
Next
Pform.preview_window()
End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Dim MinLeft As Short = 999
For Each A As CEpole.C_label In Pform.SelCon
If A.Top < MinLeft Then MinLeft = A.Top '//가장작으 Left값 추적
Next
For Each a As CEpole.C_label In Pform.SelCon
a.Top = MinLeft
Next
Pform.preview_window()
End Sub
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click
Dim MinLeft As Short = -999
For Each A As CEpole.C_label In Pform.SelCon
If A.Top > MinLeft Then MinLeft = A.Top '//가장작으 Left값 추적
Next
For Each a As CEpole.C_label In Pform.SelCon
a.Top = MinLeft
Next
Pform.preview_window()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_bold.Click
Me.SetFont()
End Sub
Private Sub cb_visible_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_visible.Click
'Arin.WLog2(Auto_Log, "표시 체크박스 선택 ", LogFile)
For Each a As CEpole.C_label In Pform.SelCon
a.visible = Me.cb_visible.Checked
Next
Pform.preview_window()
End Sub
Private Sub ToolStripButton5_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_fontchange.Click
If Pform.SelCon Is Nothing Then Return
Dim B As New FontDialog
B.Font = CType(Pform.SelCon(0), CEpole.C_label).Font
If B.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
For Each a As CEpole.C_label In Pform.SelCon
a.Font = B.Font
Next
Me.ViewProperty(Pform.onlyOne, "내부 : 글꼴변경버튼 클릭시")
Pform.preview_window()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim OBJ As C_label = Pform.Get_Control(Me.cmb_controls.SelectedIndex)
Dim Str As String = InputBox("변경할 문자를 입력하세요", "", OBJ.Text)
OBJ.Text = Str
Me.cb_visible.Checked = True
ViewProperty(OBJ, "Change Mytext")
Pform.preview_window()
End Sub
Private Sub 파일저장ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 파일저장ToolStripMenuItem.Click
Me.NewFp1.SaveExcel("c:\a.xls")
End Sub
Private Sub Chk_BgImage_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chk_BgImage.CheckedChanged
If Me.cmb_imgtype.SelectedIndex = -1 Then Me.cmb_imgtype.SelectedIndex = 0
If Me.cmb_imgtype.SelectedIndex <> 5 Then
If Chk_BgImage.Checked Then
Pform.Ctl_PictureBox.BackgroundImage = Me.bakimg.BackgroundImage
Else
Pform.Ctl_PictureBox.BackgroundImage = Nothing
End If
End If
Pform.preview_window()
End Sub
Private Sub bakimg_BackgroundImageChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles bakimg.BackgroundImageChanged
Try
Me.lb_imgsize.Text = Me.bakimg.BackgroundImage.Width & "*" & Me.bakimg.BackgroundImage.Height
Catch ex As Exception
Me.lb_imgsize.Text = "*.*"
End Try
End Sub
Private Sub bakimg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bakimg.Click
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
'//그림선택버튼
Dim A As New System.Windows.Forms.OpenFileDialog
If System.IO.File.Exists(Me.tb_picfile.Text) Then '//파일이 존재하면은 해당 그림을 기본위치로 지정해준다.
A.FileName = Me.tb_picfile.Text
Else
A.FileName = My.Application.Info.DirectoryPath & "\image\normal.jpg"
End If
If A.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
Me.tb_picfile.Text = GetImgPath(A.FileName)
Me.Chk_BgImage.Checked = True
Me.bakimg.BackgroundImage = Image.FromFile(GetImgPath(Me.tb_picfile.Text))
If Me.cmb_imgtype.SelectedIndex < 5 Then
Pform.Ctl_PictureBox.BackgroundImage = Me.bakimg.BackgroundImage
Else '//직접출력할때는 미리보기버퍼용으로 셋팅화면의 픽쳐박스를 이용한다.
Me.bakimg.BackgroundImage = Image.FromFile(GetImgPath(Me.tb_picfile.Text))
End If
Pform.preview_window()
End Sub
Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
'//그림삭제버튼
Me.Chk_BgImage.Checked = False '//배경표시버튼 비활성
Me.tb_picfile.Text = ""
Try
Me.bakimg.BackgroundImage = Nothing
Catch ex As Exception
End Try
End Sub
'''
''' 쉐이프개체의 목록을 작성합니다.
'''
'''
Public Sub Refresh_Drawlist()
'//;라인하고 박스를 읽어서 리스트박스에
Me.lst_shape.Items.Clear()
Dim I As Short = 0
If Pform.Draw_Line.Count > 0 Then
For Each Rect As C_Epole.S_Line In Pform.Draw_Line.Items
Me.lst_shape.Items.Add("선(" & Rect.X & "," & Rect.Y & "," & Rect.X2 & "," & Rect.Y2 & "):" & I)
I += 1
Next
End If
I = 0
If Pform.Draw_Box.Count > 0 Then
For Each Rect As C_Epole.S_Box In Pform.Draw_Box.Items
Me.lst_shape.Items.Add("박스(" & Rect.X & "," & Rect.Y & "," & Rect.Width & "," & Rect.Height & "," & Rect.Radius & "):" & I)
I += 1
Next
End If
I = 0
If Pform.Draw_Circle.Count > 0 Then
For Each Rect As C_Epole.S_Circle In Pform.Draw_Circle.Items
Me.lst_shape.Items.Add("원(" & Rect.X & "," & Rect.Y & "," & Rect.Width & "," & Rect.Height & "):" & I)
I += 1
Next
End If
I = 0
If Pform.Draw_Image.Count > 0 Then
For Each Rect As C_Epole.S_Image In Pform.Draw_Image.Items
Me.lst_shape.Items.Add("그림(" & Rect.X & "," & Rect.Y & "," & Rect.Width & "," & Rect.Height & "):" & I)
I += 1
Next
End If
I = 0
If Pform.Draw_QRcode.Count > 0 Then
For Each Rect As C_Epole.S_QRCode In Pform.Draw_QRcode.Items
Me.lst_shape.Items.Add("QR(" & Rect.X & "," & Rect.Y & "," & Rect.Width & "," & Rect.Height & "):" & I)
I += 1
Next
End If
Pform.preview_window()
End Sub
Private Sub lst_shape_DrawItem(sender As Object, e As System.Windows.Forms.DrawItemEventArgs) Handles lst_shape.DrawItem
End Sub
Private Sub lst_shape_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lst_shape.SelectedIndexChanged
If Me.lst_shape.SelectedIndex < 0 Then Return
'//들어있는 쉐이프들을 선택했을때.
Select Case Me.lst_shape.Text.Substring(0, 1)
Case "선"
Dim PP As New PropertyGrid_Line(Me.lst_shape.Text.Split(":")(1), Me)
pgs.SelectedObject = PP
Case "박"
Dim PP As New PropertyGrid_Box(Me.lst_shape.Text.Split(":")(1), Me)
pgs.SelectedObject = PP
Case "원"
Dim PP As New PropertyGrid_Circle(Me.lst_shape.Text.Split(":")(1), Me)
pgs.SelectedObject = PP
Case "그"
Dim PP As New PropertyGrid_Image(Me.lst_shape.Text.Split(":")(1), Me)
pgs.SelectedObject = PP
Case "Q"
Dim PP As New PropertyGrid_QRcode(Me.lst_shape.Text.Split(":")(1), Me)
pgs.SelectedObject = PP
End Select
'For Each A As C_Epole.S_DrawShape In Pform.SelConDraw
' If A.DrawType = C_Epole.E_DrawType.Box Then
' Dim Obj As C_Epole.S_Box = A.DrawObject
' Obj.PenColor = Color.Black
' CType(A.DrawObject, C_Epole.S_Box).PenColor = Color.Black
' Else
' CType(A.DrawObject, C_Epole.S_Box).PenColor = Color.Black
' End If
' A.ForeColor = Color.Black '//선택된것들 죄다 검은색으로
'Next
'Dim Selected As C_label = Pform.Get_Control(Me.cmb_controls.SelectedIndex)
'Pform.SelCon.Clear()
'Pform.SelCon.Add(Selected)
'Selected.ForeColor = Color.DodgerBlue
'ViewProperty(Selected, "내부:개체선택콤보박스의 changed Commited")
'Pform.preview_window()
End Sub
Private Sub chk_usedraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chk_usedraw.Click
Pform.preview_window()
End Sub
Private Sub bt_dmode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dmode.Click
'//디자인모드활성화
Pform.DMode = Me.bt_dmode.Checked
End Sub
Private Sub cb_seppattern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_seppattern.Click
'//선택했을때ㅔ
Dim Gidx As Short = Pform.Get_Control(Me.cmb_controls.SelectedIndex).Gidx
' Pform.AllFullLabels(Gidx).SeparatePattern = Me.cb_seppattern.Checked
End Sub
Private Sub bt_font_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_font.Click
Dim FD As New FontDialog
Try
FD.Font = Me.MyProperty_Detail.글꼴
If FD.ShowDialog = System.Windows.Forms.DialogResult.OK Then
Me.MyProperty_Detail.글꼴 = FD.Font
Me.tb_size.Text = FD.Font.Size
Me.TB_FONTNAME.Text = FD.Font.Name
End If
Catch ex As Exception
MsgBox("선택된 개체가 없거나 오류입니다", MsgBoxStyle.Critical, "확인")
End Try
End Sub
#Region "keyboard Down"
Private Sub tb_x_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_x.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.위치x = Me.tb_x.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_y_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_y.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.위치y = Me.tb_y.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_w_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_h.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.높이 = Me.tb_h.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_h_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_w.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.너비 = Me.tb_w.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_size_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_size.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.글꼴크기 = Me.tb_size.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_space_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_space.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.자간 = Me.tb_space.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_rep_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_rep.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.반복횟수 = Me.tb_rep.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_rx_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_rx.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.다음위치X = Me.tb_rx.Text
Catch ex As Exception
End Try
End If
End Sub
Private Sub tb_ry_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_ry.KeyDown
If e.KeyCode = Keys.Enter Then
Try
Me.MyProperty_Detail.다음위치Y = Me.tb_ry.Text
Catch ex As Exception
End Try
End If
End Sub
#End Region
Private Sub cmb_editname_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_editname.Click
If Me.RenameStyle(StyleList(getStyleIndex()).File) Then
MsgBox("스타일 이름이 성공적으로 변경되었습니다" & vbCrLf & "출력창을 닫고 다시 열었을경우 반영됩니다", MsgBoxStyle.Information, "확인")
Else
MsgBox("스타일 이름변경이 취소되었거나 실패했습니다", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_del.Click
If Me.lst_shape.SelectedIndex < 0 Then Return
If MsgBox("삭제하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "삭제") <> MsgBoxResult.Ok Then Return
'//들어있는 쉐이프들을 선택했을때.
Select Case Me.lst_shape.Text.Substring(0, 1)
Case "선"
'//삭제해야한다.
Dim idx As Short = Me.lst_shape.Text.Split(":")(1)
Dim NewLine As New CEpole.Shape_line
For i As Integer = 0 To Pform.Draw_Line.Count - 1
If i <> idx Then NewLine.Add(Pform.Draw_Line.Item(i))
Next
Pform.Draw_Line = NewLine
Case "박"
'//삭제해야한다.
Dim idx As Short = Me.lst_shape.Text.Split(":")(1)
Dim NewLine As New CEpole.Shape_Box
For i As Integer = 0 To Pform.Draw_Box.Count - 1
If i <> idx Then NewLine.Add(Pform.Draw_Box.item(i))
Next
Pform.Draw_Box = NewLine
Case "원"
'//삭제해야한다.
Dim idx As Short = Me.lst_shape.Text.Split(":")(1)
Dim NewLine As New CEpole.Shape_Circle
For i As Integer = 0 To Pform.Draw_Circle.Count - 1
If i <> idx Then NewLine.Add(Pform.Draw_Circle.item(i))
Next
Pform.Draw_Circle = NewLine
Case "그"
'//삭제해야한다.
Dim idx As Short = Me.lst_shape.Text.Split(":")(1)
Dim NewLine As New CEpole.Shape_Image
For i As Integer = 0 To Pform.Draw_Image.Count - 1
If i <> idx Then NewLine.Add(Pform.Draw_Image.item(i))
Next
Pform.Draw_Image = NewLine
Case "Q"
'//삭제해야한다.
Dim idx As Short = Me.lst_shape.Text.Split(":")(1)
Dim NewLine As New CEpole.Shape_QRcode
For i As Integer = 0 To Pform.Draw_QRcode.Count - 1
If i <> idx Then NewLine.Add(Pform.Draw_QRcode.item(i))
Next
Pform.Draw_QRcode = NewLine
End Select
Me.Refresh_Drawlist()
Pform.preview_window()
End Sub
Private Sub ToolStripButton9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton9.Click
If MsgBox("선택된 개체들의 글꼴을 HY견고딕을 변경하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
Pform.CtrFontChange()
End If
End Sub
Private Sub bt_circle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_circle.Click
'//원
Dim NewLine As C_Epole.S_CirCle
NewLine.PenColor = Drawing.Color.Black
NewLine.PenWidth = 3
NewLine.X = 100
NewLine.Y = 100
NewLine.Width = 200
'NewLine.Height = 200
Pform.Draw_Circle.Add(NewLine)
Me.Refresh_Drawlist()
End Sub
Private Sub ToolStripButton7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_lineh.Click
'//가로선
Dim NewLine As C_Epole.S_Line
NewLine.PenColor = Drawing.Color.Black
NewLine.PenWidth = 3
NewLine.X = 100
NewLine.Y = 100
NewLine.X2 = 200
NewLine.Y2 = 100
Pform.Draw_Line.Add(NewLine)
Me.Refresh_Drawlist()
End Sub
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_linev.Click
'//세로선
Dim NewLine As C_Epole.S_Line
NewLine.PenColor = Drawing.Color.Black
NewLine.PenWidth = 3
NewLine.X = 100
NewLine.Y = 100
NewLine.X2 = 100
NewLine.Y2 = 200
Pform.Draw_Line.Add(NewLine)
Me.Refresh_Drawlist()
End Sub
Private Sub ToolStripButton10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_image.Click
'//그림
Dim NewLine As C_Epole.S_Image
NewLine.X = 100
NewLine.Y = 100
NewLine.Width = 0
NewLine.Height = 0
NewLine.FileName = ".\image\그림파일명.jpg"
Pform.Draw_Image.Add(NewLine)
Me.Refresh_Drawlist()
End Sub
Private Sub ToolStripButton5_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_box.Click
'//박스추가
Dim NewLine As C_Epole.S_Box
NewLine.PenColor = Drawing.Color.Black
NewLine.PenWidth = 3
NewLine.X = 100
NewLine.Y = 100
NewLine.Width = 200
NewLine.Height = 200
Pform.Draw_Box.Add(NewLine)
Me.Refresh_Drawlist()
End Sub
Private Sub bt_chang_font_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_chang_font.Click
If MsgBox("선택된 스타일의 모든 글꼴을 변경합니다(패턴포함)" & vbCrLf & Me.cmb_style.Text & vbCrLf & "폰트창이 뜨면 변경할 폰트를 선택하세요", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
Dim FD As New FontDialog
FD.Font = Me.Font
If FD.ShowDialog = System.Windows.Forms.DialogResult.OK Then
' MsgBox(FD.Font.Name)
Pform.Change_All_FontData(FD.Font)
End If
End If
End Sub
Private Sub ToolStripButton5_Click_3(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_qr.Click
'//QR코드추가
Dim NewLine As C_Epole.S_QRCode
NewLine.X = 100
NewLine.Y = 100
NewLine.Width = 50
NewLine.Height = 50
NewLine.Size = 4
NewLine.QRData = "{DATA}"
NewLine.Version = CEpole.C_Epole.EQR_Version.v11
NewLine.Encoding = CEpole.C_Epole.EQR_Incoding.Byte
NewLine.CLeve = CEpole.C_Epole.EQR_CLEVE.M
NewLine.Format = "{DATA}" '//출력포맷
Pform.Draw_QRcode.Add(NewLine)
Refresh_Drawlist()
End Sub
Private Sub lbFColor_Click(sender As Object, e As EventArgs) Handles lbFColor.Click
Dim f As New ColorDialog
f.Color = lbFColor.BackColor
If f.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
lbFColor.BackColor = f.Color
Me.MyProperty_Detail.전경색 = lbFColor.BackColor
End If
End Sub
Private Sub btSaveImage_Click(sender As Object, e As EventArgs) Handles btSaveImage.Click
Dim od As New SaveFileDialog
od.Filter = "JPEG(*.jpg)|*.jpg|모든파일|*.*"
od.FileName = "Image" + Pform.SrcIdx.ToString("000000000") + ".jpg"
If od.ShowDialog = System.Windows.Forms.DialogResult.OK Then
Pform.SaveImage(od.FileName)
End If
End Sub
Private Sub 스타일숨김ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles btStyleinvisible.Click
Dim dlg As DialogResult = MsgBox("현재 선택된 스타일을 숨김처리 하시겠습니까?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo)
If dlg <> System.Windows.Forms.DialogResult.Yes Then Return
Dim srcfile As String = StyleList(getStyleIndex()).File '//스타일 파일명
If Pform.StyleDir.Exists = False Then Pform.StyleDir.Create() '//폴더가없으면 만든다.
Dim File As String = srcfile.Substring(0, srcfile.LastIndexOf(".")) & ".cfg" '//확장자빠진 새로운파일명만 있다.
Dim Newfn As String = Pform.StyleDir.FullName & "\" & File
' Dim NewDesc As String = InputBox("스타일의 이름을 입력하세요", "스타일이름변경", Me.cmb_style.Text)
Eini = New ACC.MyINI(Newfn)
If Eini.Exist = False Then Eini.Create()
Eini.Write("STYLE", "VISIBLE", "0")
MsgBox("스타일이 숨김 처리 되었습니다" + vbCrLf + "출력창을 다시 열였을 때 적용됩니다")
End Sub
Private Sub 스타일표시ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles btStyleVisible.Click
Dim dlg As DialogResult = MsgBox("현재 선택된 스타일을 [표시함]처리 하시겠습니까?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo)
If dlg <> System.Windows.Forms.DialogResult.Yes Then Return
Dim srcfile As String = StyleList(getStyleIndex()).File '//스타일 파일명
If Pform.StyleDir.Exists = False Then Pform.StyleDir.Create() '//폴더가없으면 만든다.
Dim File As String = srcfile.Substring(0, srcfile.LastIndexOf(".")) & ".cfg" '//확장자빠진 새로운파일명만 있다.
Dim Newfn As String = Pform.StyleDir.FullName & "\" & File
' Dim NewDesc As String = InputBox("스타일의 이름을 입력하세요", "스타일이름변경", Me.cmb_style.Text)
Eini = New ACC.MyINI(Newfn)
If Eini.Exist = False Then Eini.Create()
Eini.Write("STYLE", "VISIBLE", "1")
MsgBox("스타일이 표시 처리 되었습니다" + vbCrLf + "출력창을 다시 열였을 때 적용됩니다")
End Sub
Private Sub cm_style_Opening(sender As Object, e As CancelEventArgs) Handles cm_style.Opening
If Pform.DisableWaterMark = False Then '//190223
btStyleinvisible.Visible = False
btStyleVisible.Visible = False
Else
btStyleinvisible.Visible = True
btStyleVisible.Visible = True
End If
End Sub
End Class