3074 lines
146 KiB
VB.net
3074 lines
146 KiB
VB.net
Imports System.Drawing
|
|
Imports System.Drawing.Printing
|
|
Imports System.Math
|
|
Imports System.IO
|
|
|
|
|
|
Imports ThoughtWorks.QRCode.Codec '//QR코드
|
|
Imports ThoughtWorks.QRCode.Codec.Util
|
|
Imports ThoughtWorks.QRCode.Codec.Data
|
|
|
|
Public Class printformCableLABEL
|
|
|
|
Dim DrStyle As PatternDS.TStyleRow = Nothing
|
|
Dim DtPattern As PatternDS.TPatternDataTable = Nothing
|
|
|
|
Dim AllLabels() As Str_Alllabels '//전체갯수는 추가할대 셋팅한다.
|
|
Dim StaStr() As String
|
|
|
|
Dim SB1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim SB2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SB3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SB4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SB5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SB6(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
Dim SC1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim SC2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SC3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SC4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SC5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SC6(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SC7(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
Dim SD1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim SD2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SD3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SD4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SD5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SD6(0) As MyControlOLEDBv2.MyLabel
|
|
Dim SD7(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
Dim STB1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim STB2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STB3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STB4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STB5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STB6(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
Dim STC1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim STC2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STC3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STC4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STC5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STC6(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STC7(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
Dim STD1(0) As MyControlOLEDBv2.MyLabel '//데이터배열용
|
|
Dim STD2(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STD3(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STD4(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STD5(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STD6(0) As MyControlOLEDBv2.MyLabel
|
|
Dim STD7(0) As MyControlOLEDBv2.MyLabel
|
|
|
|
|
|
Dim SB1S As String '//표시문자용
|
|
Dim SB2S As String
|
|
Dim SB3S As String
|
|
Dim SB4S As String
|
|
Dim SB5S As String
|
|
Dim SB6S As String
|
|
|
|
Dim SC1S As String '//표시문자용
|
|
Dim SC2S As String
|
|
Dim SC3S As String
|
|
Dim SC4S As String
|
|
Dim SC5S As String
|
|
Dim SC6S As String
|
|
Dim SC7S As String
|
|
|
|
Dim SD1S As String '//표시문자용
|
|
Dim SD2S As String
|
|
Dim SD3S As String
|
|
Dim SD4S As String
|
|
Dim SD5S As String
|
|
Dim SD6S As String
|
|
Dim SD7S As String
|
|
|
|
Dim STB1S As String '//고정문자용
|
|
Dim STB2S As String
|
|
Dim STB3S As String
|
|
Dim STB4S As String
|
|
Dim STB5S As String
|
|
Dim STB6S As String
|
|
|
|
Dim STC1S As String '//고정문자용
|
|
Dim STC2S As String
|
|
Dim STC3S As String
|
|
Dim STC4S As String
|
|
Dim STC5S As String
|
|
Dim STC6S As String
|
|
Dim STC7S As String
|
|
|
|
Dim STD1S As String '//고정문자용
|
|
Dim STD2S As String
|
|
Dim STD3S As String
|
|
Dim STD4S As String
|
|
Dim STD5S As String
|
|
Dim STD6S As String
|
|
Dim STD7S As String
|
|
|
|
Dim S번호(0) As MyLabel
|
|
|
|
|
|
Dim BlineNum1 As Short = 0 '//줄그룹
|
|
Dim BlineNum2 As Short = 0
|
|
Dim BlineNum3 As Short = 0
|
|
|
|
Dim NoView As Boolean = False '//LOAD_STYLE 을 잠시 실행하지 않기위햇(중복실행방지)서 둔다.(..이벤트가.. -_-;;너무 중복으로 발생함)
|
|
|
|
Dim SrcIdx As Integer = -1 '//원본 리뷰에서 클릭된 인덱스
|
|
Dim Srcnum As Integer = -1 '//원본 리뷴에서 클릭된 번호값
|
|
Dim Srcrow As DataRowView
|
|
Dim FirstIdx As Integer = -1 '//새로 생성된 리뷰에서 적용될 인덱스
|
|
|
|
'Public File As String = My.Application.Info.DirectoryPath & "\style.ini" '//스타일 파일
|
|
Dim StyleDir As New System.IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\styleCABLABEL")
|
|
Public FileC As String = My.Application.Info.DirectoryPath & "\styleCECABLABEL.ini" '//사용자 스타일 파일
|
|
|
|
Private WithEvents pDoc As New PrintDocument()
|
|
Dim SelCon As New ArrayList '//선택된 레이블들이 저장된 배열이다.
|
|
Dim onlyOne As MyControlOLEDBv2.MyLabel '//포커스를 가진 레이블이다.
|
|
|
|
Dim srcTable As ireaDataSet.Detail_CableLabelDataTable '//데이터가 저장될 테이블
|
|
Dim Dv As DataView '//데이터뷰(실제로 이 뷰의 데이터를 가지고 출력을 행한다.)
|
|
|
|
Dim printindex As Integer = 0 '//프린트되는 페이지 번호 이값이 -1 이면 현재페이지이므로 갱신하지 않고 출력한다.
|
|
Dim PrintArray() As Integer '//프린트할 페이지의 배열번호
|
|
|
|
Dim SettingFile As String = My.Application.Info.DirectoryPath & "\epole.ini" '//환경설정 파일
|
|
Dim PrintMode As Boolean = False
|
|
|
|
Public Sub New()
|
|
InitializeComponent()
|
|
WLog2(Auto_Log, "New()", "\지중(케이블라벨)순차로그.txt")
|
|
StaStr = Nothing
|
|
End Sub
|
|
|
|
Public Sub New(ByRef Src As ireaDataSet.Detail_CableLabelDataTable, Optional ByVal IRow As DataRowView = Nothing, Optional ByVal p_StrStr() As String = Nothing)
|
|
InitializeComponent()
|
|
WLog2(Auto_Log, "New(srctable,srcRow)", "\지중(케이블라벨)순차로그.txt")
|
|
srcTable = Src '//가져온 테이블을 임시테이블에 저장을 해두고 사용한다.
|
|
Srcrow = IRow '//이것은 클릭된 행번호이다. 이 행번호를 가지고 스타일을 판별한다
|
|
Me.StaStr = p_StrStr
|
|
End Sub
|
|
|
|
Private Sub printform_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
'If Not BackWork Is Nothing Then BackWork = Nothing
|
|
'Me.CustFP1.ColSize_Save()
|
|
Me.dataview.Setting_Save(False, "printjjungCABLABEL", "\viewConfig\JijungCAB_")
|
|
WLog2(Auto_Log, "Form_Close", "\지중(케이블라벨)순차로그.txt")
|
|
Save_Setting()
|
|
End Sub
|
|
|
|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Me.dataview.Setting_Load(False, "printjjungCABLABEL", "\viewConfig\JijungCABLABEL_")
|
|
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or ControlStyles.DoubleBuffer, True) '//더블버퍼링
|
|
|
|
AddLog(Auto_Log, "Form_Load()", "\지중(케이블라벨)순차로그.txt")
|
|
GetPrintersName() '//프린터명을 가져옵니다.
|
|
Load_Setting()
|
|
SetControls() '//컨트롤을 초기화하고 셋팅한다.
|
|
|
|
If srcTable Is Nothing Then
|
|
'MsgBox("소스가없어서 기본셋팅으로 전환함")
|
|
AddLog(Auto_Log, "개발자 기본셋팅으로 전환()", "\지중(케이블라벨)순차로그.txt")
|
|
Common.Auto_Log = True
|
|
Me.NoView = True
|
|
'Me.detTableAdapter1.Connection.ConnectionString = ConString
|
|
'Me.detTableAdapter1.Fill(Me.IreaDataSet1.jjungtable, 1)
|
|
'Me.srcTable = Me.IreaDataSet1.jjungtable
|
|
Admin = True
|
|
End If
|
|
|
|
AddLog(Auto_Log, "개발자모드=" & Admin.ToString, "\지중(케이블라벨)순차로그.txt")
|
|
If Admin Then
|
|
showlog()
|
|
For Each A As Control In Me.TabPage3.Controls
|
|
If A.GetType.Name.ToUpper = "CHECKBOX" Then
|
|
A.Visible = True
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
Me.SETTOOLTIP()
|
|
GetStyleList() '//style.ini 에서 스타일목록명만 가져온다.
|
|
|
|
If Srcrow Is Nothing Then '//가져온 행값이인덱스가 없으므로 1번째 스타일을 지정한다.
|
|
AddLog(Auto_Log, "가져온 행값이 없습니다. firstidx=0 / 일반용으로 셋팅합니다()", "\지중(케이블라벨)순차로그.txt")
|
|
FirstIdx = 0 '//또한 맨 처음 데이터를 표시하게된다.
|
|
'Me.cmb_style.Text = "일반용" '//여기서 데이터가 걸러지게된다.
|
|
Me.cmb_style.SelectedIndex = 0
|
|
Else
|
|
Srcnum = Srcrow("번호") 'srcTable.Rows(SrcIdx).Item("번호")
|
|
'MsgBox(Srcrow("비고1").ToString)
|
|
'Dim HASS, HBSS As String
|
|
'Try
|
|
' HASS = Srcrow("HASS").ToString.Trim
|
|
'Catch ex As Exception
|
|
' ' MsgBox(ex.Message.ToString)
|
|
' HASS = ""
|
|
'End Try
|
|
'Try
|
|
' HBSS = Srcrow("HBSS").ToString.Trim
|
|
'Catch ex As Exception
|
|
' ' MsgBox(ex.Message.ToString)
|
|
' HBSS = ""
|
|
'End Try
|
|
'If HBSS <> "" Then
|
|
' Me.cmb_style.Text = "고압용(HB)"
|
|
'End If
|
|
End If
|
|
If Me.cmb_style.SelectedIndex < 0 AndAlso Me.cmb_style.Items.Count > 0 Then Me.cmb_style.SelectedIndex = 0
|
|
|
|
Me.DataGridView1.DataSource = dtpattern
|
|
End Sub
|
|
|
|
Private Sub printform_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
|
'If SelCon Is Nothing Then Return
|
|
'Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
Select Case e.KeyCode
|
|
Case Keys.Up
|
|
If e.Shift Then '//글씨높이
|
|
Me.CtrSize(True, -1)
|
|
Else
|
|
Me.CtrPos(True, -1)
|
|
End If
|
|
'Me.ViewProperty(SelCon(0))
|
|
e.Handled = True
|
|
Case Keys.Down
|
|
If e.Shift Then
|
|
Me.CtrSize(True, 1)
|
|
Else
|
|
Me.CtrPos(True, 1)
|
|
End If
|
|
'ViewProperty(Tobj)
|
|
e.Handled = True
|
|
Case Keys.Left
|
|
If e.Shift Then
|
|
Me.CtrSize(False, -1)
|
|
Else
|
|
Me.CtrPos(False, -1)
|
|
End If
|
|
'ViewProperty(Tobj)
|
|
e.Handled = True
|
|
Case Keys.Right
|
|
If e.Shift Then
|
|
Me.CtrSize(False, 1)
|
|
Else
|
|
Me.CtrPos(False, 1)
|
|
End If
|
|
'ViewProperty(Tobj)
|
|
e.Handled = True
|
|
Case Keys.S
|
|
If e.Control Then
|
|
' Me.BT_JNUMCSAVE.PerformClick()
|
|
End If
|
|
Case Keys.F7
|
|
Me.bt_print.PerformButtonClick()
|
|
Case Keys.F8
|
|
Me.bt_prnpreview.PerformClick()
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Public Sub AddControl(ByRef CtlCnt As Short, ByVal 설명 As String, ByVal tag As String, ByVal Labels() As MyControlOLEDBv2.MyLabel, ByRef Cb As CheckBox)
|
|
Cb.Tag = tag
|
|
Cb.Text = 설명
|
|
For i As Integer = 0 To Labels.GetUpperBound(0) '//모든문자를 할당한다.
|
|
Labels(i) = New MyControlOLEDBv2.MyLabel
|
|
Labels(i).설명 = 설명 & i + 1
|
|
Labels(i).DIV = tag
|
|
Labels(i).Name = tag & i + 1
|
|
Labels(i).TextValue = ""
|
|
Labels(i).Repeat = 0
|
|
Labels(i).RepeatX = 0
|
|
Labels(i).RepeatY = 0
|
|
Labels(i).Pattern = tag & "PATTERN" ' bPattern
|
|
ReDim Preserve AllLabels(CtlCnt)
|
|
AllLabels(CtlCnt).ctl = Labels(i)
|
|
Me.cmb_controls.Items.Add(Labels(i).설명)
|
|
CtlCnt += 1
|
|
Next
|
|
Labels(0).CheckBox = Cb
|
|
Labels(0).Pattern = tag & "PATTERN"
|
|
End Sub
|
|
|
|
Private Sub SetControls()
|
|
AddLog(Auto_Log, "SetControls()", "\지중(케이블라벨)순차로그.txt")
|
|
Dim CtlCnt As Short = 0
|
|
|
|
AddControl(CtlCnt, "번호", "XX", Me.S번호, Me.cb_seq)
|
|
|
|
AddControl(CtlCnt, "[고]전산번호", "A1", Me.SB1, Me.chkb1)
|
|
AddControl(CtlCnt, "[고]단자명", "A2", Me.SB2, Me.chkb2)
|
|
AddControl(CtlCnt, "[고]S/S", "A3", Me.SB3, Me.chkb3)
|
|
AddControl(CtlCnt, "[고]D/L", "A4", Me.SB4, Me.chkb4)
|
|
AddControl(CtlCnt, "[고]H1", "A5", Me.SB5, Me.chkb5)
|
|
AddControl(CtlCnt, "[고]H2", "A6", Me.SB6, Me.chkb6)
|
|
|
|
AddControl(CtlCnt, "[저1]전산번호", "B1", Me.SC1, Me.chkc1)
|
|
AddControl(CtlCnt, "[저1]저압회선", "B2", Me.SC2, Me.chkc2)
|
|
AddControl(CtlCnt, "[저1]공급상", "B3", Me.SC3, Me.chkc3)
|
|
AddControl(CtlCnt, "[저1]공급변압기", "B4", Me.SC4, Me.chkc4)
|
|
AddControl(CtlCnt, "[저1]전산번호(전원측)", "B5", Me.SC5, Me.chkc5)
|
|
AddControl(CtlCnt, "[저1]전산번호(부하측)", "B6", Me.SC6, Me.chkc6)
|
|
AddControl(CtlCnt, "[저1]고객명", "B7", Me.SC7, Me.chkc7)
|
|
|
|
AddControl(CtlCnt, "[저2]전산번호", "C1", Me.SD1, Me.chkd1)
|
|
AddControl(CtlCnt, "[저2]저압회선", "C2", Me.SD2, Me.chkd2)
|
|
AddControl(CtlCnt, "[저2]공급상", "C3", Me.SD3, Me.chkd3)
|
|
AddControl(CtlCnt, "[저2]공급변압기(TR)", "C4", Me.SD4, Me.chkd4)
|
|
AddControl(CtlCnt, "[저2]전산번호(전원측)", "C5", Me.SD5, Me.chkd5)
|
|
AddControl(CtlCnt, "[저2]전산번호(부하측)", "C6", Me.SD6, Me.chkd6)
|
|
AddControl(CtlCnt, "[저2]고객명", "C7", Me.SD7, Me.chkd7)
|
|
|
|
AddControl(CtlCnt, "문자A1", "J1", Me.STB1, Me.cbb1)
|
|
AddControl(CtlCnt, "문자A2", "J2", Me.STB2, Me.cbb2)
|
|
AddControl(CtlCnt, "문자A3", "J3", Me.STB3, Me.cbb3)
|
|
AddControl(CtlCnt, "문자A4", "J4", Me.STB4, Me.cbb4)
|
|
AddControl(CtlCnt, "문자A5", "J5", Me.STB5, Me.cbb5)
|
|
AddControl(CtlCnt, "문자A6", "J6", Me.STB6, Me.cbb6)
|
|
|
|
AddControl(CtlCnt, "문자B1", "K1", Me.STC1, Me.cbc1)
|
|
AddControl(CtlCnt, "문자B2", "K2", Me.STC2, Me.cbc2)
|
|
AddControl(CtlCnt, "문자B3", "K3", Me.STC3, Me.cbc3)
|
|
AddControl(CtlCnt, "문자B4", "K4", Me.STC4, Me.cbc4)
|
|
AddControl(CtlCnt, "문자B5", "K5", Me.STC5, Me.cbc5)
|
|
AddControl(CtlCnt, "문자B6", "K6", Me.STC6, Me.cbc6)
|
|
AddControl(CtlCnt, "문자B7", "K7", Me.STC7, Me.cbc7)
|
|
|
|
AddControl(CtlCnt, "문자C1", "L1", Me.STD1, Me.cbd1)
|
|
AddControl(CtlCnt, "문자C2", "L2", Me.STD2, Me.cbd2)
|
|
AddControl(CtlCnt, "문자C3", "L3", Me.STD3, Me.cbd3)
|
|
AddControl(CtlCnt, "문자C4", "L4", Me.STD4, Me.cbd4)
|
|
AddControl(CtlCnt, "문자C5", "L5", Me.STD5, Me.cbd5)
|
|
AddControl(CtlCnt, "문자C6", "L6", Me.STD6, Me.cbd6)
|
|
AddControl(CtlCnt, "문자C7", "L7", Me.STD7, Me.cbd7)
|
|
|
|
End Sub
|
|
|
|
Private Sub SETTOOLTIP()
|
|
WLog2(Auto_Log, "Settooltip()", "\지중(케이블라벨)순차로그.txt")
|
|
Dim TMSG As New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("선택가능한 개체목록을 볼 수 잇습니다")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("화면에 보이지 않는 개체도 선택이 가능합니다")
|
|
TMSG.AppendLine()
|
|
Me.ToolTip1.SetToolTip(Me.cmb_controls, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder("")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("선택된 개체들의 화면표시여부를 결정정합니다")
|
|
Me.ToolTip1.SetToolTip(Me.cb_visible, TMSG.ToString)
|
|
|
|
|
|
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.RadioButton3, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("<개체들의 상태를 확인할 수 있습니다>")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("왼쪽클릭시 해당개체만 선택됩니다.")
|
|
TMSG.AppendLine("Ctrl + 왼쪽클릭시 해당개체가 속한 그룹이 선택됩니다.")
|
|
TMSG.AppendLine("우클릭시 선택된 개체가 추가됩니다(다중선택기능)")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("[번호출력시 색상구분]")
|
|
TMSG.AppendLine("흑색 : 문자패턴 적용")
|
|
TMSG.AppendLine("녹색 : 길이패턴 적용")
|
|
TMSG.AppendLine("적색 : 길이,문자패턴 미적용")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine(">>환경설정에서 색상구분이 가능하도록 설정되어야 합니다")
|
|
TMSG.AppendLine()
|
|
Me.ToolTip1.SetToolTip(Me.PictureBox1, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("<사용할 프린터를 선택하세요>")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("아무것도 입력되지 않았으면 기본프린터로 출력됩니다.")
|
|
TMSG.AppendLine("현재 설치되어있는 프린터 목록이 표시됩니다.")
|
|
TMSG.AppendLine()
|
|
Me.combobox5.ToolTipText = TMSG.ToString
|
|
'Me.ToolTip1.SetToolTip(Me.ComboBox5, TMSG.ToString)
|
|
|
|
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("<2번째 장이 출력될 위치를 결정하세요.>")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("2번째 장이 출력될때 1번째장과의 왼쪽거리 값입니다. 0 으로할경우 동일한 X값이 됩니다.")
|
|
TMSG.AppendLine("같은 줄 아래쪽에 표시를 하려면 X=0 으로두고 Y=값을 임의로 입력하세요")
|
|
TMSG.AppendLine()
|
|
Me.ToolTip1.SetToolTip(Me.tb_secX, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("<2번째 장이 출력될 위치를 결정하세요.>")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("2번째 장이 출력될때 1번째장과의 위쪽거리 값입니다. 0 으로할경우 동일한 Y값이 됩니다.")
|
|
TMSG.AppendLine("같은 줄 아래쪽에 표시를 하려면 X=0 으로두고 Y=값을 임의로 입력하세요")
|
|
TMSG.AppendLine()
|
|
Me.ToolTip1.SetToolTip(Me.tb_secY, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("<2장 출력시 데이터의 출력방법을 선택하세요.>")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("[복사]는 현재데이터와 동일한 데이터가 표시됩니다.")
|
|
TMSG.AppendLine("[다음]은 다음데이터가 표시됩니다.")
|
|
TMSG.AppendLine()
|
|
TMSG.AppendLine("동일한 데이터를 한번더 출력하려면 [복사]를 선택하세요.")
|
|
TMSG.AppendLine("다음데이터까지 출력하려면 [다음]을 선택하세요")
|
|
Me.ToolTip1.SetToolTip(Me.cmb_dummy, TMSG.ToString)
|
|
|
|
TMSG = New System.Text.StringBuilder()
|
|
TMSG.AppendLine("녹색은 길이패턴만 적용된 아이템이며")
|
|
TMSG.AppendLine("적색은 길이,문자패턴이 존재하지 않는 아이템입니다")
|
|
TMSG.AppendLine("흑색은 문자패턴이나 길이,문자패턴이 존재하는 경우입니다.")
|
|
TMSG.AppendLine()
|
|
'Me.ToolTip1.SetToolTip(Me.X1, X1.설명 & vbCrLf & TMSG.ToString)
|
|
'Me.ToolTip1.SetToolTip(Me.X2, X2.설명 & vbCrLf & TMSG.ToString)
|
|
'Me.ToolTip1.SetToolTip(Me.X3, X3.설명 & vbCrLf & TMSG.ToString)
|
|
|
|
|
|
|
|
End Sub
|
|
Private Sub con_dclick(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
WLog2(Auto_Log, "개체를 더블클릭했습니다.(이것은 사용되지 않음)", "\지중(케이블라벨)순차로그.txt")
|
|
Dim Msg As New System.Text.StringBuilder("변경할 값을 입력하세요")
|
|
Msg.AppendLine("줄바꿈을하려면 \n 을 입력하세요")
|
|
Msg.AppendLine("예) 세로로 12를 출력하려면 1\n2 을 입력하세요")
|
|
Msg.AppendLine()
|
|
Msg.AppendLine("변경한 값은 현재페이지에만 적용됩니다")
|
|
Dim A As MyControlOLEDBv2.MyLabel = sender
|
|
Dim Val As String = InputBox(Msg.ToString, "변경", A.MyText)
|
|
If Val = "" Then Return
|
|
Val = Val.Replace("\n", vbCrLf)
|
|
A.MyText = Val
|
|
'//preview 는 아마도 픽쳐박스 더블클릭에서 정의한듯 하다.
|
|
End Sub
|
|
Private Sub Save_Setting()
|
|
WLog2(Auto_Log, "현재 설정(스타일)을 저장합니다.", "\지중(케이블라벨)순차로그.txt")
|
|
Dim A As New MyINI2(SettingFile)
|
|
A.Write("PRINTFORM", "printername", Me.combobox5.Text) '//패턴검사조건 콤보박스
|
|
End Sub
|
|
Private Sub Load_Setting()
|
|
WLog2(Auto_Log, "현재설정(스타일)을 가져옵니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
WLog2(Auto_Log, "Load_Setting()", "\지중(케이블라벨)순차로그.txt")
|
|
Dim a As New MyINI2(SettingFile)
|
|
Me.combobox5.Text = a.Read("PRINTFORM", "printername", "")
|
|
End Sub
|
|
|
|
Public Sub GeTviewData(ByVal index As Integer, ByVal previewWindow As Boolean, Optional ByRef 번호패턴검사 As Integer = -1)
|
|
' Dim STARTTIME, ENDTIME As Date
|
|
AddLog(Auto_Log, "GetviewData 진입()", "\지중(케이블라벨)순차로그.txt")
|
|
If Dv.Count <= 0 OrElse index < 0 OrElse index > Dv.Count Then
|
|
AddLog(Auto_Log, "GetViewData : 인덱스가 없거나 문제가 잇어서 리턴합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
' MsgBox("GETVIEWDATA : 데이터가 없거나 잘못된 인덱스 입니다", MsgBoxStyle.Information, "확인") ' & index & "/" & Me.CustFP1.ActiveSheet.RowCount & ")", MsgBoxStyle.Critical, "확인")
|
|
Return '//잘못된 인덱스는 리턴
|
|
End If
|
|
' STARTTIME = Now
|
|
'//현재 테이블에서 데이터를 표시한다. 현 테이블은 종류별로 구분지어진 테이블이다 DV
|
|
'//모든데이터를 컨트롤에표시한후 출력물의 구분(일반용/기입등)을 짓는다.
|
|
'Dim 선로명패턴검사 As Integer = 0
|
|
'Dim 장척패턴검삭 As Integer = 0
|
|
Me.SB1S = GetSpread(Me.Dv, index, "N10")
|
|
Me.SB2S = GetSpread(Me.Dv, index, "N1D")
|
|
Me.SB3S = GetSpread(Me.Dv, index, "N1S")
|
|
Me.SB4S = GetSpread(Me.Dv, index, "N1L")
|
|
Me.SB5S = GetSpread(Me.Dv, index, "N1H1")
|
|
Me.SB6S = GetSpread(Me.Dv, index, "N1H2")
|
|
|
|
Me.SC1S = GetSpread(Me.Dv, index, "N20")
|
|
Me.SC2S = GetSpread(Me.Dv, index, "N2J")
|
|
Me.SC3S = GetSpread(Me.Dv, index, "N2K")
|
|
Me.SC4S = GetSpread(Me.Dv, index, "N2B")
|
|
Me.SC5S = GetSpread(Me.Dv, index, "N21")
|
|
Me.SC6S = GetSpread(Me.Dv, index, "N22")
|
|
Me.SC7S = GetSpread(Me.Dv, index, "N2C")
|
|
|
|
Me.SD1S = GetSpread(Me.Dv, index, "N30")
|
|
Me.SD2S = GetSpread(Me.Dv, index, "N3J")
|
|
Me.SD3S = GetSpread(Me.Dv, index, "N3K")
|
|
Me.SD4S = GetSpread(Me.Dv, index, "N3B")
|
|
Me.SD5S = GetSpread(Me.Dv, index, "N31")
|
|
Me.SD6S = GetSpread(Me.Dv, index, "N32")
|
|
Me.SD7S = GetSpread(Me.Dv, index, "N3C")
|
|
|
|
'--고정문자할당
|
|
Me.STB1S = ""
|
|
Me.STB2S = ""
|
|
Me.STB3S = ""
|
|
Me.STB4S = ""
|
|
Me.STB5S = ""
|
|
Me.STB6S = ""
|
|
|
|
Me.STC1S = ""
|
|
Me.STC2S = ""
|
|
Me.STC3S = ""
|
|
Me.STC4S = ""
|
|
Me.STC5S = ""
|
|
Me.STC6S = ""
|
|
Me.STC7S = ""
|
|
|
|
Me.STD1S = ""
|
|
Me.STD2S = ""
|
|
Me.STD3S = ""
|
|
Me.STD4S = ""
|
|
Me.STD5S = ""
|
|
Me.STD6S = ""
|
|
Me.STD7S = ""
|
|
|
|
If Not Me.StaStr Is Nothing Then
|
|
If Me.SB1S <> "" Then Me.STB1S = Me.StaStr(0)
|
|
If Me.SB2S <> "" Then Me.STB2S = Me.StaStr(1)
|
|
If Me.SB3S <> "" Then Me.STB3S = Me.StaStr(2)
|
|
If Me.SB4S <> "" Then Me.STB4S = Me.StaStr(3)
|
|
If Me.SB5S <> "" Then Me.STB5S = Me.StaStr(4)
|
|
If Me.SB6S <> "" Then Me.STB6S = Me.StaStr(5)
|
|
|
|
If Me.SC1S <> "" Then Me.STC1S = Me.StaStr(6)
|
|
If Me.SC2S <> "" Then Me.STC2S = Me.StaStr(7)
|
|
If Me.SC3S <> "" Then Me.STC3S = Me.StaStr(8)
|
|
If Me.SC4S <> "" Then Me.STC4S = Me.StaStr(9)
|
|
If Me.SC5S <> "" Then Me.STC5S = Me.StaStr(10)
|
|
If Me.SC6S <> "" Then Me.STC6S = Me.StaStr(11)
|
|
If Me.SC7S <> "" Then Me.STC7S = Me.StaStr(12)
|
|
|
|
If Me.SD1S <> "" Then Me.STD1S = Me.StaStr(13)
|
|
If Me.SD2S <> "" Then Me.STD2S = Me.StaStr(14)
|
|
If Me.SD3S <> "" Then Me.STD3S = Me.StaStr(15)
|
|
If Me.SD4S <> "" Then Me.STD4S = Me.StaStr(16)
|
|
If Me.SD5S <> "" Then Me.STD5S = Me.StaStr(17)
|
|
If Me.SD6S <> "" Then Me.STD6S = Me.StaStr(18)
|
|
If Me.SD7S <> "" Then Me.STD7S = Me.StaStr(19)
|
|
End If
|
|
|
|
'Me.관리구 = GetSpread(Me.Dv, index, "관리구")
|
|
'Me.전산번호 = GetSpread(Me.Dv, index, "전산번호")
|
|
'Me.관리구전산번호 = GetSpread(Me.Dv, index, "관리구") & "·" & GetSpread(Me.Dv, index, "전산번호")
|
|
'If Me.관리구전산번호.Trim = "·" Then Me.관리구전산번호 = ""
|
|
|
|
'//줄번호 초기화
|
|
Me.BlineNum1 = 0 : Me.BlineNum2 = 0 : Me.BlineNum3 = 0
|
|
|
|
If Me.SB1S <> "" Then BlineNum1 += 1
|
|
If Me.SB2S <> "" Then BlineNum1 += 1
|
|
If Me.SB3S <> "" Then BlineNum1 += 1
|
|
If Me.SB4S <> "" Then BlineNum1 += 1
|
|
If Me.SB5S <> "" Then BlineNum1 += 1
|
|
If Me.SB6S <> "" Then BlineNum1 += 1
|
|
|
|
If Me.SC1S <> "" Then BlineNum2 += 1
|
|
If Me.SC2S <> "" Then BlineNum2 += 1
|
|
If Me.SC3S <> "" Then BlineNum2 += 1
|
|
If Me.SC4S <> "" Then BlineNum2 += 1
|
|
If Me.SC5S <> "" Then BlineNum2 += 1
|
|
If Me.SC6S <> "" Then BlineNum2 += 1
|
|
If Me.SC7S <> "" Then BlineNum2 += 1
|
|
|
|
If Me.SD1S <> "" Then BlineNum3 += 1
|
|
If Me.SD2S <> "" Then BlineNum3 += 1
|
|
If Me.SD3S <> "" Then BlineNum3 += 1
|
|
If Me.SD4S <> "" Then BlineNum3 += 1
|
|
If Me.SD5S <> "" Then BlineNum3 += 1
|
|
If Me.SD6S <> "" Then BlineNum3 += 1
|
|
If Me.SD7S <> "" Then BlineNum3 += 1
|
|
|
|
|
|
Me.lb_linenum.Text = "(" & BlineNum1 & "/" & BlineNum2 & "/" & BlineNum3 & ")"
|
|
|
|
AddLog(Auto_Log, "데이터뷰의 데이터를 변수로 가져오기 완료()", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
Me.Text = "지중(케이블라벨) 출력작업(" & Me.SB1S & "/" & Me.SC1S & "/" & Me.SD1S & ")"
|
|
|
|
AddLog(Auto_Log, "PASE구문을 실행합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
'============ 여기는 따로 해석이 없는곳이다 ==========================================================
|
|
If Me.PARSE(Me.STB1S, Me.STB1) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
If Me.PARSE(Me.STB2S, Me.STB2) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
If Me.PARSE(Me.STB3S, Me.STB3) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
If Me.PARSE(Me.STB4S, Me.STB4) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
If Me.PARSE(Me.STB5S, Me.STB5) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
If Me.PARSE(Me.STB6S, Me.STB6) Then Me.PARSE_PATTERN(Me.STB1S, Me.STB1, Me.BlineNum1) '//고정문자시작
|
|
|
|
If Me.PARSE(Me.STC1S, Me.STC1) Then Me.PARSE_PATTERN(Me.STC1S, Me.STC1, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC2S, Me.STC2) Then Me.PARSE_PATTERN(Me.STC2S, Me.STC2, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC3S, Me.STC3) Then Me.PARSE_PATTERN(Me.STC3S, Me.STC3, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC4S, Me.STC4) Then Me.PARSE_PATTERN(Me.STC4S, Me.STC4, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC5S, Me.STC5) Then Me.PARSE_PATTERN(Me.STC5S, Me.STC5, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC6S, Me.STC6) Then Me.PARSE_PATTERN(Me.STC6S, Me.STC6, Me.BlineNum2) '//고정문자시작
|
|
If Me.PARSE(Me.STC7S, Me.STC7) Then Me.PARSE_PATTERN(Me.STC7S, Me.STC7, Me.BlineNum2) '//고정문자시작
|
|
|
|
If Me.PARSE(Me.STD1S, Me.STD1) Then Me.PARSE_PATTERN(Me.STD1S, Me.STD1, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD2S, Me.STD2) Then Me.PARSE_PATTERN(Me.STD2S, Me.STD2, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD3S, Me.STD3) Then Me.PARSE_PATTERN(Me.STD3S, Me.STD3, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD4S, Me.STD4) Then Me.PARSE_PATTERN(Me.STD4S, Me.STD4, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD5S, Me.STD5) Then Me.PARSE_PATTERN(Me.STD5S, Me.STD5, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD6S, Me.STD6) Then Me.PARSE_PATTERN(Me.STD6S, Me.STD6, Me.BlineNum3) '//고정문자시작
|
|
If Me.PARSE(Me.STD7S, Me.STD7) Then Me.PARSE_PATTERN(Me.STD7S, Me.STD7, Me.BlineNum3) '//고정문자시작
|
|
|
|
If Me.PARSE(Me.SB1S, Me.SB1) Then Me.PARSE_PATTERN(Me.SB1S, Me.SB1, BlineNum1) '//고압
|
|
If Me.PARSE(Me.SB2S, Me.SB2) Then Me.PARSE_PATTERN(Me.SB2S, Me.SB2, BlineNum1) '//
|
|
If Me.PARSE(Me.SB3S, Me.SB3) Then Me.PARSE_PATTERN(Me.SB3S, Me.SB3, BlineNum1) '//
|
|
If Me.PARSE(Me.SB4S, Me.SB4) Then Me.PARSE_PATTERN(Me.SB4S, Me.SB4, BlineNum1) '//
|
|
If Me.PARSE(Me.SB5S, Me.SB5) Then Me.PARSE_PATTERN(Me.SB5S, Me.SB5, BlineNum1) '//
|
|
If Me.PARSE(Me.SB6S, Me.SB6) Then Me.PARSE_PATTERN(Me.SB6S, Me.SB6, BlineNum1) '//
|
|
|
|
If Me.PARSE(Me.SC1S, Me.SC1) Then Me.PARSE_PATTERN(Me.SC1S, Me.SC1, BlineNum2) '//저압1
|
|
If Me.PARSE(Me.SC2S, Me.SC2) Then Me.PARSE_PATTERN(Me.SC2S, Me.SC2, BlineNum2) '//
|
|
If Me.PARSE(Me.SC3S, Me.SC3) Then Me.PARSE_PATTERN(Me.SC3S, Me.SC3, BlineNum2) '//
|
|
If Me.PARSE(Me.SC4S, Me.SC4) Then Me.PARSE_PATTERN(Me.SC4S, Me.SC4, BlineNum2) '//
|
|
If Me.PARSE(Me.SC5S, Me.SC5) Then Me.PARSE_PATTERN(Me.SC5S, Me.SC5, BlineNum2) '//
|
|
If Me.PARSE(Me.SC6S, Me.SC6) Then Me.PARSE_PATTERN(Me.SC6S, Me.SC6, BlineNum2) '//
|
|
If Me.PARSE(Me.SC7S, Me.SC7) Then Me.PARSE_PATTERN(Me.SC7S, Me.SC7, BlineNum2) '//
|
|
|
|
If Me.PARSE(Me.SD1S, Me.SD1) Then Me.PARSE_PATTERN(Me.SD1S, Me.SD1, BlineNum3) '//저압2
|
|
If Me.PARSE(Me.SD2S, Me.SD2) Then Me.PARSE_PATTERN(Me.SD2S, Me.SD2, BlineNum3) '//
|
|
If Me.PARSE(Me.SD3S, Me.SD3) Then Me.PARSE_PATTERN(Me.SD3S, Me.SD3, BlineNum3) '//
|
|
If Me.PARSE(Me.SD4S, Me.SD4) Then Me.PARSE_PATTERN(Me.SD4S, Me.SD4, BlineNum3) '//
|
|
If Me.PARSE(Me.SD5S, Me.SD5) Then Me.PARSE_PATTERN(Me.SD5S, Me.SD5, BlineNum3) '//
|
|
If Me.PARSE(Me.SD6S, Me.SD6) Then Me.PARSE_PATTERN(Me.SD6S, Me.SD6, BlineNum3) '//
|
|
If Me.PARSE(Me.SD7S, Me.SD7) Then Me.PARSE_PATTERN(Me.SD7S, Me.SD7, BlineNum3) '//
|
|
|
|
|
|
AddLog(Auto_Log, "패턴이있는 PASE 구문을 실행합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
|
|
AddLog(Auto_Log, "구관리전산,일련번호,관리전산표시여부를 pase 합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
'========================= 기타 =================================================
|
|
'//이러면 표시해야한다.
|
|
If Me.cb_seq.Checked Then
|
|
Me.S번호(0).MyText = GetSpread(Me.Dv, index, "번호") 'index + 1
|
|
Me.S번호(0).Visible = True
|
|
Else
|
|
Me.S번호(0).Visible = False
|
|
End If
|
|
|
|
'//한줄짜리 넣으려면 아래와같이 넎는다.
|
|
'If 관리구 <> "" AndAlso 전산번호 <> "" AndAlso Me.cb_kwanglijungsan.Checked Then
|
|
' Me.S관리구전주번호(0).MyText = 관리구 & "-" & 전산번호
|
|
' Me.S관리구전주번호(0).Visible = True
|
|
'Else
|
|
' Me.S관리구전주번호(0).Visible = False
|
|
'End If
|
|
|
|
AddLog(Auto_Log, "사용자문자의 표시여부를 결정합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
'사용자문자의 표시여부 u a b d e
|
|
'휴 끝났다.......................................................
|
|
AddLog(Auto_Log, "Pewview 윈도우를 실행합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
Me.preview_window()
|
|
' If Me.chb_preview.Checked AndAlso previewWindow Then Me.preview_window()
|
|
End Sub
|
|
|
|
Public Function ChkNumPattern(ByVal index As Integer) As Int16
|
|
WLog2(Auto_Log, "번호패턴을 체크합니다. int16을 반환합니다.()", "\지중(케이블라벨)순차로그.txt")
|
|
If Dv.Count <= 0 Or index < 0 OrElse index > Dv.Count Then
|
|
'MsgBox("데이터가 없거나 잘못된 인덱스 입니다(" & index & "/" & Me.CustFP1.ActiveSheet.RowCount & ")", MsgBoxStyle.Critical, "확인")
|
|
Return -1 '//잘못된 인덱스는 리턴
|
|
End If
|
|
|
|
Dim 검사번호패턴검사 As Integer = 0
|
|
Dim 검사번호 As String
|
|
|
|
검사번호 = GetSpread(Me.Dv, index, "번호1") & GetSpread(Me.Dv, index, "번호2") & GetSpread(Me.Dv, index, "번호3") & GetSpread(Me.Dv, index, "번호4") & GetSpread(Me.Dv, index, "번호5")
|
|
If 검사번호.Trim = "" Then Return -1 '//검사번호자체에 문제가잇을시 에 리턴
|
|
|
|
Dim Wlen As Short = 검사번호.Length : If Wlen <= 0 Then Return -1 '//없는 글귀가 왓을때 턴해버린다.
|
|
Dim SRC() As Char = 검사번호.ToCharArray
|
|
Dim Log As String = "\Parse_검사번호패턴.txt"
|
|
Dim SepPos As Short = 검사번호.IndexOf(";")
|
|
Dim retval As Integer = 0 ''0은 정상 1은 길이패턴없음 2는 3은 길이+문자없음
|
|
|
|
'//검사번호는 길이패턴을 하지않고 문자패턴만 한다.
|
|
Dim pname As String
|
|
Dim Arinini As New MyINI2(drstyle.File)
|
|
Dim PATTERN As String = PATTERN_ENC(검사번호)
|
|
|
|
'//먼저문자가있는지 확인한다.
|
|
pname = "JJNUMPATTERNII" & PATTERN
|
|
|
|
Dim Dr() As DataRow
|
|
Dr = dtpattern.Select("NAME = '" & pname & "DESC'")
|
|
WLog2(Auto_Log, "길이패턴의 존재여부 = " & Dr.GetUpperBound(0) & ":" & pname, "\지중(케이블라벨)순차로그.txt")
|
|
If Dr.GetUpperBound(0) <> -1 Then '//있다.
|
|
retval += 2
|
|
'WLog2(Auto_Log, "관리구5번 문자를 찾았습니다 (" & pname & "DESC" & ")", Log)
|
|
End If
|
|
|
|
'If Arinini.Read(pname, "DESC") = vbNullString Then retval += 2 '//패턴이 없으므로 바로 넘긴다.
|
|
|
|
pname = "JJNUMPATTERN" & Wlen
|
|
Dr = dtpattern.Select("NAME = '" & pname & "DESC'")
|
|
WLog2(Auto_Log, "문자패턴의 존재여부 = " & Dr.GetUpperBound(0) & ";" & pname, "\지중(케이블라벨)순차로그.txt")
|
|
If Dr.GetUpperBound(0) <> -1 Then '//있다.
|
|
retval += 1
|
|
'WLog2(Auto_Log, "관리구5번 문자를 찾았습니다 (" & pname & "DESC" & ")", Log)
|
|
End If
|
|
Return retval '// 0이 리턴될것이다. 패턴이 모두 정상이란 뜻이다
|
|
End Function
|
|
Public Sub CLEAR_ITEM(ByVal labels() As MyControlOLEDBv2.MyLabel)
|
|
AddLog(Auto_Log, "Clear_item div=", "\지중(케이블라벨)순차로그.txt")
|
|
For i As Short = 0 To labels.GetUpperBound(0)
|
|
labels(i).MyText = ""
|
|
labels(i).Visible = False
|
|
Next
|
|
End Sub
|
|
Public Sub GetStyleList()
|
|
Work_Form("스타일목록을 확인합니다")
|
|
AddLog(Auto_Log, "GetStyleList진입()", "\지중(케이블라벨)순차로그.txt")
|
|
'//스타일명을 가져와서 콤보박스에 표시합니다.
|
|
'//style 폴더아래의 ini 파일전체를 스타일 이라한다.
|
|
'//파일을 읽어서 메모리에 저장한다.
|
|
' Dim Arinini As MyINI
|
|
Dim CurIdx As Integer = 0
|
|
If StyleDir.Exists = False Then StyleDir.Create()
|
|
Dim StyleCnt As Short = StyleDir.GetFiles("*.ini").GetUpperBound(0)
|
|
|
|
'ReDim StyleList(StyleCnt)
|
|
ReDim Common.PDS(StyleCnt) '//패턴데이터셋의 갯수를 저장한다
|
|
|
|
Dim Section, Value As New ArrayList
|
|
Dim SectionIdx As Integer = 0
|
|
|
|
AddLog(Auto_Log, "GetStyleList(파일에서 스타일목을 가져온다)", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
'//스타일파일명을 테이블에 임시저장한다(일괄로 불러오기위함이다.)
|
|
Dim Dt As New System.Data.DataTable : Dt.Columns.Add("파일명")
|
|
|
|
For Each FI As IO.FileInfo In StyleDir.GetFiles("*.ini")
|
|
Dt.Rows.Add(FI.FullName)
|
|
Next
|
|
|
|
For Each Dr As DataRow In Dt.Select("", "파일명 asc")
|
|
Dim FileName As String = Dr("파일명")
|
|
AddLog(Auto_Log, "파일명=(" & FileName & ") 의 스타일을 가져옵니다 메모리로", "\지중순차로그.txt")
|
|
|
|
'//XML테이블을 새로생성
|
|
Common.PDS(CurIdx) = New PatternDS
|
|
|
|
GetAllsection(FileName, CurIdx)
|
|
|
|
Me.cmb_style.Items.Add(Common.PDS(CurIdx).TStyle.Rows(0)("DESC").ToString())
|
|
CurIdx += 1
|
|
Next
|
|
Form_Work.Close()
|
|
End Sub
|
|
|
|
Private Sub 데이터테이블갱신()
|
|
AddLog(Auto_Log, "데이터테이블 갱신()", "\지중(케이블라벨)순차로그.txt")
|
|
'NWork_Form("데이터테이블을 갱신합니다.", 0)
|
|
|
|
GetAllsection(DrStyle.FILE, Me.cmb_style.SelectedIndex)
|
|
' Form_Work.Close()
|
|
|
|
DrStyle = Common.PDS(Me.cmb_style.SelectedIndex).TStyle.Rows(0)
|
|
DtPattern = Common.PDS(Me.cmb_style.SelectedIndex).TPattern
|
|
|
|
End Sub
|
|
|
|
Private Function Prepare_Print() As Boolean '//범위내의 페이지번호와 일치하는 번호를 찾아서 배열에 할당한다.
|
|
AddLog(Auto_Log, "Func(PrePare_Print) 인쇄번호 할당 준비", "\Alllog.txt")
|
|
|
|
Dim Number As Integer = 0
|
|
Dim FindNum As Boolean = False
|
|
Me.printindex = 0 '//배열의 첫번으로 출력을 준비한다.
|
|
'Me.PrintArray = Nothing '//출력번호 배열을 저장할 것이다.\
|
|
ReDim PrintArray(0)
|
|
PrintArray(0) = 1
|
|
|
|
'log = False
|
|
'AddLog("==============출력준비중==============", True)
|
|
|
|
Me.pDoc.DefaultPageSettings.Margins.Left = 0 'Me.tb_marginx.Text '//좌,우 여백 설정
|
|
Me.pDoc.DefaultPageSettings.Margins.Top = 0 'Me.tb_marginy.Text
|
|
Me.pDoc.DefaultPageSettings.Landscape = IIf(Me.cmb_landscape.SelectedIndex = 0, False, True) '//가로,세로 출력결정
|
|
'//프린터명이 지정되어있다면 해당 프린터로설정,없으면 기본프린터
|
|
If Me.combobox5.Text <> "" Then Me.pDoc.PrinterSettings.PrinterName = Me.combobox5.Text
|
|
'//범위인데 값이 비어있으면 현재출력으로
|
|
If Me.RadioButton3.Checked AndAlso Me.tb_printrange.Text.Trim = "" Then Me.RadioButton2.Checked = True
|
|
|
|
If Me.rad_repeat.Checked Then
|
|
If IsNumeric(Me.tb_printrange.Text) = False Then
|
|
MsgBox("출력장수에 숫자만 입력하세요", MsgBoxStyle.Critical, "확인")
|
|
Return False
|
|
End If
|
|
ReDim PrintArray(Val(Me.tb_printrange.Text) - 1)
|
|
For i As Integer = 0 To Val(Me.tb_printrange.Text) - 1
|
|
PrintArray(i) = Me.BindingNavigatorPositionItem.Text - 1
|
|
Next
|
|
End If
|
|
|
|
|
|
If Me.RadioButton1.Checked Then '//전체출력이므로 배열에 모든것을 리턴한다 : 모든데이터의 레코드 인덱스를 저장한다.
|
|
'MsgBox("rad1")
|
|
ReDim Me.PrintArray(Me.Dv.Count - 1)
|
|
For i As Integer = 0 To Dv.Count - 1
|
|
Me.PrintArray(i) = i
|
|
Next
|
|
End If
|
|
|
|
If Me.RadioButton2.Checked Then '//현재페이지 : 현재보고있다는 페에지의 레코드인덱스만 저장한다.
|
|
'MsgBox("Rad2" & Me.BindingNavigatorPositionItem.Text - 1)
|
|
ReDim Me.PrintArray(0)
|
|
Me.PrintArray(0) = Me.BindingNavigatorPositionItem.Text - 1 '/현재카운트보다 1작다 배열은 0부터 시작하기떄문에
|
|
'Me.printindex = -1
|
|
End If
|
|
|
|
|
|
'//2007-12-21일 변경시작
|
|
If Me.RadioButton3.Checked Then '//범위지정 : 지정된범위내의 번호값을 가지고 해당 인덱스를 찾아서 배열에 할당한다.
|
|
'Dim buff() As String = Me.tb_printrange.Text.Split("/")
|
|
'Dim curpos As Integer = 0
|
|
'MsgBox("rad3")
|
|
|
|
|
|
Dim buff As String = Me.tb_printrange.Text
|
|
ReDim Me.PrintArray(0) : Me.PrintArray(0) = -1
|
|
|
|
'//먼저 -가 있나없나 판단해서 한페이지용인지 범위용인지 구분한다.
|
|
If buff.IndexOf("-") >= 0 Then '//범위이다.
|
|
Dim SubBuff() As String = buff.Split("-")
|
|
Dim Sttnum As Integer = CInt(SubBuff(0)) '//시작
|
|
Dim endnum As Integer = CInt(SubBuff(1)) '//종료값
|
|
|
|
For SI As Integer = 0 To endnum - Sttnum '//범위갯수만큼 돈다
|
|
FindNum = False
|
|
Number = CInt(Sttnum + SI) '//페이지만 적엇을 것이므로
|
|
For ni As Integer = 0 To Dv.Count - 1 '//현재뷰의 모든데이터를 가지고 검색한다 좌->우 순차검색
|
|
If Number = Dv(ni).Row("번호") Then
|
|
If PrintArray(0) = -1 Then '//처음데이터이므로
|
|
Me.PrintArray(0) = ni
|
|
Else '//처음이아니므로 배열을 증가시키고 기입한다.
|
|
ReDim Preserve PrintArray(PrintArray.GetUpperBound(0) + 1) '//배열1증가
|
|
Me.PrintArray(PrintArray.GetUpperBound(0)) = ni
|
|
End If
|
|
FindNum = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
Else '//페이지번호만 적었을때다
|
|
If IsNumeric(buff) Then
|
|
Number = CInt(buff) '//페이지만 적엇을 것이므로
|
|
For ni As Integer = 0 To Dv.Count - 1 '//현재뷰의 모든데이터를 가지고 검색한다 좌->우 순차검색
|
|
If Number = Dv(ni).Row("번호") Then
|
|
PrintArray(0) = ni
|
|
Exit For
|
|
End If
|
|
Next
|
|
Else
|
|
MsgBox("범위(-)를 제외하고 숫자만 입력하세요", MsgBoxStyle.Critical, "입력오류")
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If PrintArray(0) = -1 Then '//배열에 아무것도 없다면
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Private Sub Print_Preview()
|
|
WLog2(Auto_Log, "print_preview 미리보기 버튼을 눌렀을때다.()", "\지중(케이블라벨)순차로그.txt")
|
|
Me.PrintMode = True
|
|
If Not Prepare_Print() Then
|
|
MsgBox("인쇄할 목록이 없습니다", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
Dim Preview As New PrintPreviewDialog()
|
|
Try
|
|
Preview.Document = pDoc
|
|
Preview.ShowDialog()
|
|
|
|
Catch EX As Exception
|
|
MsgBox(EX.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub pDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pDoc.PrintPage
|
|
AddLog(Admin, "proc_printpage 프린트패이지를 작성한다 중요하다.()", "\Alllog.txt")
|
|
|
|
Dim fmt As New StringFormat(StringFormatFlags.LineLimit)
|
|
Dim MyFont As Font
|
|
Dim NewFontSize As Int16 = 10
|
|
Dim dummy As Boolean = False '//이값이 true 이면 출력시 변위를 지정해서 출력한다.
|
|
Dim C As MyControlOLEDBv2.MyLabel
|
|
Dim NewLeft, NewTop As Integer
|
|
|
|
'페이지 구분을 이해하고 몇개를 찍을지 결정한다.
|
|
'Debug.Print("프린터인덱스=" & Me.printindex)
|
|
'Debug.Print("프린터배열=" & Me.PrintArray.GetUpperBound(0))
|
|
|
|
If Me.printindex <> -1 Then
|
|
If Me.rad_repeat.Checked = False Then Me.GeTviewData(Me.PrintArray(Me.printindex), False) '//페이지를 갱신하고 출력을 시작한다.
|
|
Else
|
|
MsgBox("프린트 인덱스가 없습니다", MsgBoxStyle.Critical, "확인")
|
|
|
|
End If
|
|
e.Graphics.ScaleTransform(Me.tb_scalex.Text, Me.tb_scaley.Text)
|
|
|
|
If Me.Chk_BgImageprint.Checked AndAlso Me.chk_DisplayBG.Checked AndAlso Not Me.bakimg.BackgroundImage Is Nothing Then
|
|
If Me.PrintMode = False Then '//미리보기일때 인쇄마진을 넣지않는다.
|
|
e.Graphics.DrawImage(Me.bakimg.BackgroundImage, CInt(Me.tb_bakx.Text), CInt(Me.tb_baky.Text), CInt(Me.tb_bakw.Text), CInt(Me.tb_bakh.Text)) '//배경그림
|
|
Else
|
|
e.Graphics.DrawImage(Me.bakimg.BackgroundImage, CInt(Me.tb_bakx.Text) + CInt(Me.tb_marginx.Text), CInt(Me.tb_baky.Text) + CInt(Me.tb_marginy.Text), CInt(Me.tb_bakw.Text), CInt(Me.tb_bakh.Text)) '//배경그림
|
|
End If
|
|
End If
|
|
If Me.chk_draw.Checked Then
|
|
'//라인을 그린다.
|
|
For Each Rect As S_Line In Draw_Line
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
If Me.PrintMode Then
|
|
e.Graphics.DrawLine(Pen, Rect.X + CInt(Me.tb_marginx.Text), Rect.Y + CInt(Me.tb_marginy.Text), Rect.X2 + CInt(Me.tb_marginx.Text), Rect.Y2 + CInt(Me.tb_marginy.Text))
|
|
Else
|
|
e.Graphics.DrawLine(Pen, Rect.X, Rect.Y, Rect.X2, Rect.Y2)
|
|
End If
|
|
|
|
Next
|
|
'//박스를 그린다.
|
|
For Each Rect As S_Box In Draw_Box
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
If Me.PrintMode Then
|
|
e.Graphics.DrawRectangle(Pen, Rect.X + CInt(Me.tb_marginx.Text), Rect.Y + CInt(Me.tb_marginy.Text), Rect.Width, Rect.Height)
|
|
Else
|
|
e.Graphics.DrawRectangle(Pen, Rect.X, Rect.Y, Rect.Width, Rect.Height)
|
|
End If
|
|
|
|
Next
|
|
'//원를 그린다.
|
|
For Each Rect As S_Circle In Draw_Circle
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
If Me.PrintMode Then
|
|
e.Graphics.DrawEllipse(Pen, Rect.X + CInt(Me.tb_marginx.Text), Rect.Y + CInt(Me.tb_marginy.Text), Rect.Width, Rect.Height)
|
|
Else
|
|
e.Graphics.DrawEllipse(Pen, Rect.X, Rect.Y, Rect.Width, Rect.Height)
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
'//연속페이지 오류정정
|
|
If Me.tb_pagerepeat.Text = "" Or Me.tb_pagerepeat.Text < 1 Then Me.tb_pagerepeat.Text = "1"
|
|
For pi As Short = 0 To Me.tb_pagerepeat.Text - 1 '//페이지당 연속출력할 횟수
|
|
Dummyflag: '//--2장출력일경우 이부분에서 다시 시작한다.
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
C = Me.AllLabels(i).ctl
|
|
If C.Visible = True AndAlso C.MyText <> "" Then
|
|
For rcnt As Short = 0 To C.Repeat '//반복기능추가
|
|
'//myfont 는 글꼴의 일괄크기변경 옵션의의해서 생성됨
|
|
NewFontSize = C.MyFont.Size + Me.tb_myfontsize.Text
|
|
If NewFontSize < 0 Then NewFontSize = 0
|
|
|
|
MyFont = New Font(C.MyFont.FontFamily, NewFontSize, C.MyFont.Style)
|
|
|
|
NewLeft = C.Left + IIf(Me.PrintMode, Me.tb_marginx.Text, 0) + Me.tb_secX.Text * pi + rcnt * C.RepeatX
|
|
NewTop = C.Top + IIf(Me.PrintMode, Me.tb_marginy.Text, 0) + Me.tb_secY.Text * pi + rcnt * C.RepeatY
|
|
|
|
If C.장평 = 100 AndAlso C.장높이 = 100 Then '//장평미사용 문자열 처리
|
|
e.Graphics.DrawString(C.최종문자, MyFont, Brushes.Black, New Point(NewLeft, NewTop))
|
|
Else '//장평사용 이미지 처리
|
|
Dim NewX, Newy As Integer
|
|
Dim SrcDpix, SrcDPiY As Single
|
|
'MsgBox(Tobj.장높이)
|
|
SrcDpix = C.CreateGraphics.DpiX
|
|
SrcDPiY = C.CreateGraphics.DpiY
|
|
|
|
NewX = C.GetSize(MyFont).Width * (C.장평 / 100) * (e.Graphics.DpiX / SrcDpix)
|
|
Newy = C.GetSize(MyFont).Height * (C.장높이 / 100) * (e.Graphics.DpiY / SrcDPiY)
|
|
|
|
Dim BMP As New Bitmap(NewX, Newy, e.Graphics)
|
|
Dim G As Graphics = Graphics.FromImage(BMP)
|
|
|
|
G.ScaleTransform((C.장평 / 100), (C.장높이 / 100))
|
|
G.DrawString(C.최종문자, MyFont, Brushes.Black, 0, 0)
|
|
|
|
G.Dispose()
|
|
e.Graphics.DrawImage(BMP, New Point(NewLeft, NewTop)) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
|
|
'//한데이터출력하고나서 반복페에지횟수가 있는지확인한다.
|
|
If Me.tb_pagerepeat.Text > 1 Then
|
|
' If Me.cmb_dummy.SelectedIndex <> 0 Then '//다음데이터의 출력이면 여기서 데이터를 갱신해준다.
|
|
If Me.cmb_dummy.SelectedIndex <> 0 Then '//다음장이있다.
|
|
If Me.printindex >= 0 AndAlso Me.printindex < Me.PrintArray.GetUpperBound(0) Then
|
|
|
|
'//루프가 끝낫는지 추가체크한다. 170308
|
|
If pi < Me.tb_pagerepeat.Text - 1 Then
|
|
Me.printindex += 1 '/1장넘기고
|
|
If Me.cmb_dummy.SelectedIndex <> 0 AndAlso Me.rad_repeat.Checked = False Then Me.GeTviewData(Me.PrintArray(Me.printindex), False) '//데이터 바꾸는데..화면은 갱신하지 않는다.
|
|
End If
|
|
|
|
Else '//다음장의 출력인데 데이터가없다면 루프를 더이상 돌면안된다.
|
|
Exit For
|
|
End If
|
|
End If
|
|
End If
|
|
Next '//pi 반복할거를 모두 출력했을시에
|
|
If Me.printindex >= 0 AndAlso Me.printindex < Me.PrintArray.GetUpperBound(0) Then '//다음장이있다.
|
|
If Me.tb_pagerepeat.Text < 2 Then
|
|
Me.printindex += 1 '//페이지번호를 증가
|
|
Else
|
|
Me.printindex += 1 '//페이지번호를 증가
|
|
End If
|
|
e.HasMorePages = True
|
|
Else
|
|
e.HasMorePages = False
|
|
End If
|
|
e.Graphics.Dispose()
|
|
End Sub
|
|
|
|
Private Sub Print()
|
|
If MsgBox("인쇄를 하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
|
|
WLog2(Auto_Log, "print 바로 출력을 하라는 명령이다()", "\Alllog.txt")
|
|
Me.PrintMode = True
|
|
If Me.Prepare_Print() Then
|
|
pDoc.Print()
|
|
GeTviewData(BindingSource1.Position, True) ' preview_window()
|
|
Else
|
|
MsgBox("인쇄가능한 목록이 없습니다", MsgBoxStyle.Critical, "확인")
|
|
End If
|
|
Else
|
|
NOTICE("인쇄가 취소되었습니다", Drawing.Color.Tomato, Me.lb_msg)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub con_Mmove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
|
WLog2(Auto_Log, "con _move 개체이동할 프로시져인데 현재 안쓴다.()", "\지중(케이블라벨)순차로그.txt")
|
|
If My.Computer.Keyboard.CtrlKeyDown AndAlso e.Button = Windows.Forms.MouseButtons.Left Then
|
|
' Me.Text = CType(sender, Label).Left & "/" & e.X
|
|
CType(sender, MyControlOLEDBv2.MyLabel).Left += e.X
|
|
CType(sender, MyControlOLEDBv2.MyLabel).Top += e.Y
|
|
End If
|
|
End Sub
|
|
|
|
'''우측에 개체의 상태를 보여줍니다.
|
|
'''
|
|
Public Sub ViewProperty(ByVal sender As MyControlOLEDBv2.MyLabel)
|
|
WLog2(Auto_Log, "view properfty 개체의 상태보기()", "\지중(케이블라벨)순차로그.txt")
|
|
If Not Me.GroupBox2.Enabled Then Me.GroupBox2.Enabled = True
|
|
|
|
Me.TB_FONTNAME.Text = sender.MyFont.Name.ToString
|
|
Me.tb_left.Text = sender.Left
|
|
Me.tb_top.Text = sender.Top
|
|
|
|
Me.tb_foncol.BackColor = sender.MyForeColor
|
|
Me.cb_visible.Checked = sender.Visible
|
|
|
|
Me.cb_bold.Checked = sender.MyFont.Bold
|
|
'Me.cb_italic.Checked = sender.MyFont.Italic
|
|
' Me.cb_uline.Checked = sender.MyFont.Underline
|
|
|
|
Me.tb_fsize.Text = sender.MyFont.Size
|
|
Me.tb_wordwidth.Text = sender.장평
|
|
Me.tb_wordheight.Text = sender.장높이
|
|
Me.tb_space.Text = sender.공백
|
|
|
|
Me.tb_rep.Text = sender.Repeat
|
|
Me.tb_repx.Text = sender.RepeatX
|
|
Me.tb_repy.Text = sender.RepeatY
|
|
|
|
Me.GroupBox2.Text = "위치/크기/글꼴(" & sender.MyText & ") W=" & sender.Width & ",H=" & sender.Height
|
|
|
|
If Not sender.Tag Is Nothing Then '//여기서 개체의 패턴적용여부를 표시합니다.
|
|
' MsgBox(sender.Tag.ToString)
|
|
Me.lb_countpattern.ForeColor = IIf(sender.Tag.ToString.IndexOf("L") >= 0, Drawing.Color.Green, Drawing.Color.Black)
|
|
Me.lb_strpattern.ForeColor = IIf(sender.Tag.ToString.IndexOf("C") >= 0, Drawing.Color.Green, Drawing.Color.Black)
|
|
'Me.CB_LPATTERN.Checked = IIf(sender.Tag.ToString.IndexOf("L") >= 0, True, False)
|
|
'Me.CB_CHARPATTERN.Checked = IIf(sender.Tag.ToString.IndexOf("C") >= 0, True, False)
|
|
Else
|
|
Me.lb_countpattern.ForeColor = Drawing.Color.Black
|
|
Me.lb_strpattern.ForeColor = Drawing.Color.Black
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ViewBackImage()
|
|
WLog2(Auto_Log, "viewBackImage 배경이미지를 표시합니다.()", "\정액등순차로그.txt")
|
|
Dim Picimg As String
|
|
If Me.tb_picfile.Text.IndexOf(":") > -1 Then '//드라이브명이 있으면 그대로쓰고 아니면 붙여서쓴다.
|
|
Picimg = Me.tb_picfile.Text
|
|
Else
|
|
Picimg = My.Application.Info.DirectoryPath & "\image\" & Me.tb_picfile.Text
|
|
End If
|
|
If Not System.IO.File.Exists(Picimg) Then
|
|
Me.chk_DisplayBG.Checked = False
|
|
ElseIf Me.chk_DisplayBG.Checked Then
|
|
Me.PictureBox1.BackgroundImage = Image.FromFile(Picimg)
|
|
Me.bakimg.BackgroundImage = Image.FromFile(Picimg)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chk_DisplayBG.CheckedChanged
|
|
WLog2(Auto_Log, "배경보기 체크박스를 클릭했다.)", "\지중(케이블라벨)순차로그.txt")
|
|
'Me.PictureBox1.Visible = IIf(CType(sender, CheckBox).Checked, True, False)
|
|
If CType(sender, Windows.Forms.CheckBox).Checked Then
|
|
Me.ViewBackImage()
|
|
Else
|
|
Me.PictureBox1.BackgroundImage = Nothing
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Label11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label11.Click
|
|
Dim A As New OpenFileDialog
|
|
WLog2(Auto_Log, "파일찾기 버튼이 클릭됨", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
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() <> Windows.Forms.DialogResult.OK Then Return
|
|
Me.tb_picfile.Text = A.FileName
|
|
Me.PictureBox1.BackgroundImage = Image.FromFile(Me.tb_picfile.Text)
|
|
Me.chk_DisplayBG.Checked = True
|
|
End Sub
|
|
|
|
Public Sub CtrPos(ByVal vertical As Boolean, ByVal offset As Short)
|
|
WLog2(Auto_Log, "ctrpos (선택된 개체들의 위치값을 변경합니다)", "\지중(케이블라벨)순차로그.txt")
|
|
If SelCon Is Nothing OrElse SelCon.Count < 1 Then Exit Sub
|
|
|
|
For Each sender As Control In SelCon
|
|
If vertical Then '//좌우측
|
|
If My.Computer.Keyboard.CtrlKeyDown Then
|
|
If offset < 0 Then
|
|
sender.Top -= 10
|
|
Else
|
|
sender.Top += 10
|
|
End If
|
|
Else
|
|
sender.Top += offset
|
|
End If
|
|
Else '//상하측
|
|
If My.Computer.Keyboard.CtrlKeyDown Then
|
|
If offset < 0 Then
|
|
sender.Left -= 10
|
|
Else
|
|
sender.Left += 10
|
|
End If
|
|
Else
|
|
sender.Left += offset
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
WLog2(Auto_Log, "ctrpos =[ preview 호출합니다]", "\지중(케이블라벨)순차로그.txt")
|
|
Me.preview_window()
|
|
'Me.ViewProperty(sender)
|
|
End Sub
|
|
|
|
Private Sub ShowMsg(ByVal Message As String)
|
|
WLog2(Auto_Log, "showmsg 메세지를 보여줍니다 =" & Message, "\지중(케이블라벨)순차로그.txt")
|
|
Me.lb_msg.Text = "▷ " & Message & Space(1) & TimeOfDay.ToString
|
|
End Sub
|
|
|
|
Public Sub SetFont() '//체크박스 상태에따라서 폰트를 변경합니다.
|
|
WLog2(Auto_Log, "set font 체크박스 상태에 따라서 폰트를 변경합니다.", "\지중(케이블라벨)순차로그.txt")
|
|
Dim B As System.Drawing.FontStyle
|
|
If Me.cb_bold.Checked = True Then B = FontStyle.Bold
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
For Each A As Control In SelCon
|
|
Tobj = CType(A, MyControlOLEDBv2.MyLabel)
|
|
Tobj.MyFont = New Font(Tobj.MyFont, B)
|
|
Next
|
|
WLog2(Auto_Log, "setfont = preview 호출합니다.", "\지중(케이블라벨)순차로그.txt")
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub cmb_style_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmb_style.KeyUp
|
|
AddLog(Auto_Log, "스타일콤보박스에서 keyip 이 감지되었으나 핸들을 true 로 해버린다.", "\지중(케이블라벨)순차로그.txt")
|
|
e.Handled = True
|
|
End Sub
|
|
|
|
Private Sub cmb_style_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_style.SelectedIndexChanged
|
|
'//여기서 데이터를 추려내고(필터를 가져온다.)
|
|
'//해당 스타일을 불러온다
|
|
WLog2(Auto_Log, "스타일 인덱스가 변경되었다.", "\지중(케이블라벨)순차로그.txt")
|
|
If Me.cmb_style.SelectedIndex < 0 Then Me.cmb_style.SelectedIndex = 0
|
|
|
|
'//기본변수설정 170219
|
|
DrStyle = Common.PDS(Me.cmb_style.SelectedIndex).TStyle.Rows(0)
|
|
DtPattern = Common.PDS(Me.cmb_style.SelectedIndex).TPattern
|
|
|
|
Dim DataFilter As String = DrStyle.FILTER
|
|
If DataFilter.Trim = "" Then
|
|
DataFilter = "출력 = true" '//인쇄필드는 지선주 구분용으로 재사용한다.
|
|
Else
|
|
DataFilter &= " AND 출력 = true" '//지선주는 인쇄가 True 값이기때문에 해당 값을 제외한다
|
|
End If
|
|
|
|
Me.BindingSource1.Sort = ""
|
|
Me.BindingSource1.DataSource = Nothing
|
|
|
|
Dv = New DataView(srcTable, DataFilter, "정렬번호,번호", DataViewRowState.CurrentRows)
|
|
'Dv = New DataView(srcTable, "len(DL명) > 0", "", DataViewRowState.CurrentRows)
|
|
Me.SaveReadLayOut(True)
|
|
Me.SaveDrawData(True)
|
|
|
|
If Dv.Count <= 0 Then '//데이터가없다면
|
|
MsgBox(Me.cmb_style.Text & "에 해당하는 데이터가존재하지 않습니다" & vbCrLf & vbCrLf & "다른 스타일을 선택하세요", MsgBoxStyle.Information, "확인")
|
|
Me.PictureBox1.Refresh()
|
|
Else
|
|
WLog2(Auto_Log, "선택된 스타일에 데이터가있다=" & Dv.Count, "\지중(케이블라벨)순차로그.txt")
|
|
Me.textbox2.Text = Dv.Count - 1 '//패턴검사시 종료카운터이다...
|
|
Me.VScrollBar1.Minimum = 0
|
|
Me.VScrollBar1.Maximum = Dv.Count - 1
|
|
|
|
'MsgBox("스크롤 수=" & Me.VScrollBar1.Maximum)
|
|
Me.LOAD_STYLE() '//스타일불러오기(여기서 모든컨트롤의 기본 위치와 글꼴이 결정된다)
|
|
If Me.FirstIdx = -1 Then
|
|
For i As Integer = 0 To Dv.Count - 1 '//맨첨보여줄놈을 찾는다. DV와 원래 인덱스값이 다르기때문에 찾아야한다.
|
|
If Dv(i)("번호") = Srcnum Then
|
|
FirstIdx = i
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If FirstIdx = -1 OrElse FirstIdx > Dv.Count - 1 Then FirstIdx = 0 '//찾지못하고 나왓을경우에는 1번쨰 레코드를 보여주도록 한다.
|
|
|
|
|
|
NoView = True '//For Validate Index =0
|
|
|
|
'필터를 적용해서 뷰를 구성한다음에 해당 뷰를 데이터소스로 변경한다.
|
|
Me.SaveReadLayOut(True)
|
|
Me.SaveDrawData(True)
|
|
|
|
If FirstIdx = 0 Then '//Index is first
|
|
WLog2(Auto_Log, "View : First Record // Set = 0", "\Alllog.txt")
|
|
Else '//index is not first
|
|
WLog2(Auto_Log, "View : Index Count = " & FirstIdx, "\Alllog.txt")
|
|
End If
|
|
|
|
Me.BindingSource1.DataSource = Dv 'Dv '//여기서셋팅되면서 바로 tview 가 작동된다.
|
|
Me.BindingSource1.Sort = "정렬번호,번호" ',번호"
|
|
Me.VScrollBar1.Value = FirstIdx
|
|
Me.BindingSource1.Position = FirstIdx
|
|
Me.dataview.DataSource = Me.BindingSource1
|
|
|
|
'MsgBox("ASDF" & Me.BindingNavigatorPositionItem.Text)
|
|
If FirstIdx = 0 Then Me.GeTviewData(Me.BindingNavigatorPositionItem.Text - 1, True)
|
|
End If
|
|
''WLog2(Auto_Log, "cmb_style selectindexchanged 에서 preview 를 호출함", "\지중(케이블라벨)순차로그.txt")
|
|
'Me.preview_window()
|
|
End Sub
|
|
|
|
Public Sub LOAD_STYLE(Optional ByVal Div As String = "Z") '//저장된 스타일을 불러옵니다.
|
|
' MsgBox("LOADSTYLE" & "/" & Div)
|
|
' MsgBox("LOADSTYLE" & "/" & Div)
|
|
AddLog(Auto_Log, "load_style : 스타일을 불러옵니다. div= " & Div, "\지중(케이블라벨)순차로그.txt")
|
|
Dim Arinini As New MyINI2(DrStyle.FILE)
|
|
Dim pos(), font(), visible, mytext, repeat() As String
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
Dim DR() As DataRow
|
|
Dim idx As Integer = 0
|
|
|
|
If Div = "Z" Then NWork_Form("스타일데이터 불러오는중", Me.AllLabels.GetUpperBound(0) + 1)
|
|
|
|
'//모든아이템을 돈다
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0) '//모든아이템을 돈다.
|
|
Form_Work.pval += 1
|
|
|
|
Tobj = Me.AllLabels(i).ctl
|
|
If Div.ToUpper = "Z" Then '//모든아이템을 가져오고
|
|
'//메모리에서 찾는다.
|
|
Tobj.Tag = ""
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "POS'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
pos = DR(0)(1).ToString.Split(",")
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "FONT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
font = DR(0)(1).ToString.Split(",")
|
|
Tobj.장평 = font(5)
|
|
Tobj.장높이 = font(6)
|
|
Tobj.MyFont = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "REPEAT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
repeat = DR(0)(1).ToString.Split(",")
|
|
Tobj.Repeat = repeat(0)
|
|
Tobj.RepeatX = repeat(1)
|
|
Tobj.RepeatY = repeat(2)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "VISIBLE'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
visible = DR(0)(1).ToString
|
|
Tobj.Visible = CType(visible, Boolean)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "MYTEXT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
mytext = DR(0)(1).ToString
|
|
Select Case Tobj.Name.ToUpper.Substring(0, 1)
|
|
Case "U", "A", "B", "D", "E" '//사용자문자일경우에는 문자열도 저장해야한다.
|
|
If mytext <> "" Then Tobj.MyText = TextDec(mytext) '//ini구조상 바로저장하면안되기때문에 변환해서 저장한다.
|
|
End Select
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "SPACE'")
|
|
If DR.GetUpperBound(0) = 0 Then Tobj.공백 = DR(0)(1).ToString
|
|
Else '//특정아이템구분일때
|
|
|
|
If Tobj.DIV = Div Then
|
|
|
|
'//메모리에서 찾는다.
|
|
Tobj.Tag = ""
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "POS'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
pos = DR(0)(1).ToString.Split(",")
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "FONT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
font = DR(0)(1).ToString.Split(",")
|
|
Tobj.장평 = font(5)
|
|
Tobj.장높이 = font(6)
|
|
Tobj.MyFont = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "REPEAT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
repeat = DR(0)(1).ToString.Split(",")
|
|
Tobj.Repeat = repeat(0)
|
|
Tobj.RepeatX = repeat(1)
|
|
Tobj.RepeatY = repeat(2)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "VISIBLE'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
visible = DR(0)(1).ToString
|
|
Tobj.Visible = CType(visible, Boolean)
|
|
End If
|
|
|
|
'DR = dtpattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "MYTEXT'")
|
|
'If DR.GetUpperBound(0) = 0 Then
|
|
'mytext = DR(0)(1).ToString
|
|
'Select Case Tobj.Name.ToUpper.Substring(0, 1)
|
|
' Case "U", "A", "B", "D", "E" '//사용자문자일경우에는 문자열도 저장해야한다.
|
|
'If mytext <> "" Then Tobj.MyText = TextDec(mytext) '//ini구조상 바로저장하면안되기때문에 변환해서 저장한다.
|
|
'End Select
|
|
'End If
|
|
|
|
DR = DtPattern.Select("NAME = 'STYLE" & Tobj.Name.ToUpper & "SPACE'")
|
|
If DR.GetUpperBound(0) = 0 Then Tobj.공백 = DR(0)(1).ToString
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
|
|
If Div.ToUpper <> "Z" Then
|
|
Form_Work.Close()
|
|
Return '//모든템이아니다
|
|
End If
|
|
|
|
AddLog(Auto_Log, "load_style 기본값 체크박스등의 값을 불러온다. 이것은 맨첨에만 불러오면 된다. ", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
|
|
' MsgBox(Arinini.FileName)
|
|
|
|
Work_Form("선택박스 데이터를 가져옵니다")
|
|
'''''''''''''''''''''우측 스타일 체크박스를 가져온다.
|
|
For Each B As Control In Me.TabPage1.Controls
|
|
If B.GetType.Name.ToUpper = "CHECKBOX" Then '//체크박스라면 태그를 저장한다.
|
|
CType(B, Windows.Forms.CheckBox).Checked = Arinini.Read("STYLE", B.Name, False) '//기본값 false
|
|
End If
|
|
Next
|
|
For Each B As Control In Me.TabPage3.Controls
|
|
If B.GetType.Name.ToUpper = "CHECKBOX" Then '//체크박스라면 태그를 저장한다.
|
|
CType(B, Windows.Forms.CheckBox).Checked = Arinini.Read("STYLE", B.Name, False) '//기본값 false
|
|
End If
|
|
Next
|
|
For Each B As Control In Me.TabPage7.Controls '//표시여부
|
|
If B.GetType.Name.ToUpper = "CHECKBOX" Then '//체크박스라면 태그를 저장한다.
|
|
CType(B, Windows.Forms.CheckBox).Checked = Arinini.Read("STYLE", B.Name, False) '//기본값 false
|
|
End If
|
|
Next
|
|
Work_Form("페이지설정 데이터를 가져옵니다")
|
|
|
|
''''''''''''''''''''''''''''외'''''''''''''''''''''''''''''''''
|
|
Me.tb_marginx.Text = DrStyle.MARGINX 'Arinini.Read("STYLE", "MarginX", 10)
|
|
Me.tb_marginy.Text = DrStyle.MARGINY ' Arinini.Read("STYLE", "MarginY", 10)
|
|
Me.tb_scalex.Text = DrStyle.SCALEX ' Arinini.Read("STYLE", "ScaleX", "1.5")
|
|
Me.tb_scaley.Text = DrStyle.SCALEY ' Arinini.Read("STYLE", "ScaleY", "1.3")
|
|
''''''''''''2중
|
|
|
|
'//더미는 이제 사용하지않는다.20090729 변경
|
|
'Dim UseDummy As Boolean = drstyle.Dummy 'Arinini.Read("STYLE", "dummy", False)
|
|
'Try
|
|
Me.tb_pagerepeat.Text = DrStyle.DUMMYCNT
|
|
If Me.tb_pagerepeat.Text.Trim = "" OrElse Me.tb_pagerepeat.Text < 1 Then Me.tb_pagerepeat.Text = "1"
|
|
'Catch ex As Exception
|
|
' If UseDummy Then
|
|
' Me.tb_pagerepeat.Text = "2"
|
|
' Else
|
|
' Me.tb_pagerepeat.Text = "1"
|
|
' End If
|
|
'End Try
|
|
|
|
|
|
Me.cmb_dummy.SelectedIndex = DrStyle.DUMMYTYPE ' Arinini.Read("STYLE", "dummytype", 0)
|
|
Me.tb_secX.Text = DrStyle.DUMMMYX ' Arinini.Read("STYLE", "dummmyx", "0")
|
|
Me.tb_secY.Text = DrStyle.DUMMMYY ' Arinini.Read("STYLE", "dummmyy", "300")
|
|
|
|
If DrStyle.BACKIMG.IndexOf("\") = -1 Then
|
|
Me.tb_picfile.Text = My.Application.Info.DirectoryPath & "\image\" & DrStyle.BACKIMG
|
|
Else
|
|
Me.tb_picfile.Text = DrStyle.BACKIMG ' Arinini.Read("STYLE", "backimg", My.Application.Info.DirectoryPath & "\image\wall.bmp").ToString.Trim(Chr(0))
|
|
End If
|
|
Me.ViewBackImage() '//배경이미지를 표시한다.
|
|
|
|
Me.pDoc.DefaultPageSettings.Landscape = DrStyle.LANDSCAPE ' Arinini.Read("STYLE", "LandScape", False)
|
|
Me.cmb_landscape.SelectedIndex = IIf(Me.pDoc.DefaultPageSettings.Landscape, 1, 0)
|
|
'Me.SetLayOut(IIf(Me.cmb_landscape.SelectedIndex = 0, False, True))
|
|
|
|
Me.chk_DisplayBG.Checked = DrStyle.VIEWIMAGE ' Arinini.Read("STYLE", "ViewImage", True)
|
|
Me.Chk_BgImageprint.Checked = DrStyle.PRINTBG
|
|
Me.tb_bakx.Text = DrStyle.BAKX
|
|
Me.tb_baky.Text = DrStyle.BAKY
|
|
Me.tb_bakw.Text = DrStyle.BAKW
|
|
Me.tb_bakh.Text = DrStyle.BAKH
|
|
|
|
Me.tb_myfontsize.Text = DrStyle.PRINTFONTOFFSET ' Arinini.Read("STYLE", "PrintFontOffset", 0)
|
|
NOTICE(Me.cmb_style.Text & "스타일을 불러왔습니다.", Me.lb_msg)
|
|
|
|
Form_Work.Close()
|
|
|
|
End Sub
|
|
|
|
Public Sub SAVE_STYLE()
|
|
|
|
|
|
AddLog(Auto_Log, "ini파일에 스타일을 저장합니다. ", "\지중(케이블라벨)순차로그.txt")
|
|
Dim Arinini As New MyINI2(DrStyle.FILE)
|
|
Dim Arininic As New MyINI2(CStr(DrStyle.FILE).ToLower.Replace("ini", "cfg"))
|
|
Dim Arininichk As New MyINI2(CStr(DrStyle.FILE).ToLower.Replace("ini", "ck"))
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
'//현재 선택된 스타일을 저장합니다.
|
|
If Me.cmb_style.SelectedIndex < 0 Then
|
|
erp.SetError(Me.cmb_style, "저장할 스타일이 선택되어있지 않습니다")
|
|
NOTICE("스타일을 선택하세요", Me.lb_msg)
|
|
Return
|
|
End If
|
|
erp.SetError(Me.cmb_style, vbNullString)
|
|
|
|
|
|
Dim f As New fProgress()
|
|
f.ProgressBar1.Minimum = 0
|
|
f.ProgressBar1.Maximum = Me.AllLabels.Length
|
|
f.ProgressBar1.Value = 0
|
|
f.ProgressBar1.Style = ProgressBarStyle.Blocks
|
|
f.Label1.Text = String.Format("스타일을 저장합니다" + vbCrLf + "Control")
|
|
'f.TopMost = True
|
|
f.Show()
|
|
Application.DoEvents()
|
|
|
|
|
|
NWork_Form("스타일을 저장 : 개체저장", Me.AllLabels.GetUpperBound(0) + 1)
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
|
|
f.ProgressBar1.Value += 1
|
|
f.Refresh()
|
|
|
|
|
|
Form_Work.pval += 1
|
|
Tobj = Me.AllLabels(i).ctl
|
|
'// If Tobj.Pattern = "" Then '//패턴이없는것들만 저장?
|
|
Arinini.Write("STYLE", Tobj.Name & "pos", Tobj.Left & "," & Tobj.Top & "," & Tobj.Width & "," & Tobj.Height)
|
|
Arinini.Write("STYLE", Tobj.Name & "font", Tobj.MyFont.Name & "," & Tobj.MyFont.Size & "," & Tobj.MyFont.Underline & "," & Tobj.MyFont.Bold & "," & Tobj.MyFont.Italic & "," & Tobj.장평 & "," & Tobj.장높이)
|
|
Arinini.Write("STYLE", Tobj.Name & "visible", "true") '기본값으로 표시로 정해놓고 체크박스 체크한다.
|
|
Arinini.Write("STYLE", Tobj.Name & "space", Tobj.공백)
|
|
Arinini.Write("STYLE", Tobj.Name & "repeat", Tobj.Repeat & "," & Tobj.RepeatX & "," & Tobj.RepeatY) '//반복출력정보저장
|
|
'// End If
|
|
Next
|
|
|
|
f.Label1.Text = String.Format("스타일을 저장합니다" + vbCrLf + "CheckBox")
|
|
f.Show()
|
|
Application.DoEvents()
|
|
f.ProgressBar1.Style = ProgressBarStyle.Marquee
|
|
|
|
|
|
'//해당 CK파일에 저장되었음을 알린다.(1/0)
|
|
Arininichk.Write("STYLE", "SAVED", "1") 'A.Visible)
|
|
NWork_Form("스타일을 저장 : 상태개체저장", 0)
|
|
For Each TC As TabPage In Me.TabControl1.TabPages '//탭컨트롤1의 모든 페이지에서 체크박스의 상태를 저장한다.
|
|
For Each B As Control In TC.Controls
|
|
If B.GetType.Name.ToUpper = "CHECKBOX" Then '//체크박스라면 태그를 저장한다.
|
|
Arinini.Write("STYLE", B.Name, CType(B, Windows.Forms.CheckBox).Checked) 'A.Visible)
|
|
Arininichk.Write("STYLE", B.Name, CType(B, Windows.Forms.CheckBox).Checked) 'A.Visible)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
f.Label1.Text = String.Format("스타일을 저장합니다" + vbCrLf + "일반정보")
|
|
f.Show()
|
|
Application.DoEvents()
|
|
|
|
|
|
NWork_Form("스타일을 저장 : 페이지설정저장", 0)
|
|
Arinini.Write("STYLE", "ViewImage", Me.chk_DisplayBG.Checked)
|
|
Arinini.Write("STYLE", "printbg", Me.Chk_BgImageprint.Checked)
|
|
Arininic.Write("printer", "printbg", Me.Chk_BgImageprint.Checked)
|
|
|
|
|
|
If Not IsNumeric(tb_marginx.Text) Then
|
|
MsgBox("인쇄여백(가로) 값을 숫자로 입력하세요." + vbCrLf + "현재입력값:" + tb_marginx.Text, MsgBoxStyle.Information, "확인")
|
|
Else
|
|
Arininic.Write("printer", "MarginX", Me.tb_marginx.Text)
|
|
End If
|
|
|
|
If Not IsNumeric(tb_marginy.Text) Then
|
|
MsgBox("인쇄여백(세로) 값을 숫자로 입력하세요." + vbCrLf + "현재입력값:" + tb_marginy.Text, MsgBoxStyle.Information, "확인")
|
|
Else
|
|
Arininic.Write("printer", "MarginY", Me.tb_marginy.Text)
|
|
End If
|
|
|
|
If Not IsNumeric(tb_scalex.Text) Then
|
|
MsgBox("확대비율(가로) 값을 숫자로 입력하세요." + vbCrLf + "현재입력값:" + tb_scalex.Text, MsgBoxStyle.Information, "확인")
|
|
Else
|
|
Arininic.Write("printer", "ScaleX", Me.tb_scalex.Text)
|
|
End If
|
|
|
|
If Not IsNumeric(tb_scaley.Text) Then
|
|
MsgBox("확대비율(세로) 값을 숫자로 입력하세요." + vbCrLf + "현재입력값:" + tb_scaley.Text, MsgBoxStyle.Information, "확인")
|
|
Else
|
|
Arininic.Write("printer", "ScaleY", Me.tb_scaley.Text)
|
|
End If
|
|
|
|
Arininic.Write("printer", "bakx", Me.tb_bakx.Text)
|
|
Arininic.Write("printer", "baky", Me.tb_baky.Text)
|
|
Arininic.Write("printer", "bakw", Me.tb_bakw.Text)
|
|
Arininic.Write("printer", "bakh", Me.tb_bakh.Text)
|
|
|
|
Arinini.Write("STYLE", "bakx", Me.tb_bakx.Text)
|
|
Arinini.Write("STYLE", "baky", Me.tb_baky.Text)
|
|
Arinini.Write("STYLE", "bakw", Me.tb_bakw.Text)
|
|
Arinini.Write("STYLE", "bakh", Me.tb_bakh.Text)
|
|
|
|
If Me.tb_picfile.Text.Trim = "" Then
|
|
Arinini.Write("STYLE", "backimg", "")
|
|
Else
|
|
Dim newpath As String = CStr(My.Application.Info.DirectoryPath & "\image\").ToUpper
|
|
Dim NEwpathp As Short = (Me.tb_picfile.Text.ToUpper.IndexOf(newpath))
|
|
If NEwpathp = -1 Then
|
|
Arinini.Write("STYLE", "backimg", Me.tb_picfile.Text)
|
|
Else
|
|
Arinini.Write("STYLE", "backimg", Me.tb_picfile.Text.Substring(NEwpathp + newpath.Length))
|
|
End If
|
|
End If
|
|
|
|
Arininic.Write("printer", "PrintFontOffset", Me.tb_myfontsize.Text)
|
|
Arinini.Write("STYLE", "LandScape", Me.pDoc.DefaultPageSettings.Landscape)
|
|
|
|
'//더미 체크박스랑 더미콤보박스 인덱스랑 변위 x,y
|
|
' Arinini.Write("STYLE", "dummy", Me.cb_dummy.Checked)
|
|
Arinini.Write("STYLE", "dummycnt", Me.tb_pagerepeat.Text)
|
|
Arinini.Write("STYLE", "dummytype", Me.cmb_dummy.SelectedIndex)
|
|
Arinini.Write("STYLE", "dummmyx", Me.tb_secX.Text)
|
|
Arinini.Write("STYLE", "dummmyy", Me.tb_secY.Text)
|
|
' Arinini.Write("STYLE", "picstyle", Me.ComboBox1.SelectedIndex)
|
|
|
|
f.Label1.Text = String.Format("스타일을 저장합니다" + vbCrLf + "레이아웃")
|
|
f.Show()
|
|
Application.DoEvents()
|
|
|
|
Me.SaveReadLayOut(False)
|
|
|
|
f.Label1.Text = String.Format("스타일을 저장합니다" + vbCrLf + "그리기개체")
|
|
f.Show()
|
|
Application.DoEvents()
|
|
|
|
|
|
Me.SaveDrawData(False)
|
|
|
|
NOTICE("기본스타일을 저장했습니다", Me.lb_msg)
|
|
AddLog(Auto_Log, "save style 완료후 데이터테이블 갱신을 호춣 ", "\지중(케이블라벨)순차로그.txt")
|
|
|
|
f.Close()
|
|
f.Dispose()
|
|
Application.DoEvents()
|
|
|
|
Me.데이터테이블갱신()
|
|
Me.preview_window()
|
|
|
|
'If drstyle.IsXml = False Then
|
|
' '//xml 파일생성
|
|
' Dim XMLFIlename As String = CStr(drstyle.File).ToLower.Replace("ini", "xml")
|
|
' MsgBox("구형 패턴파일을 변환합니다" & vbCrLf & XMLFIlename)
|
|
' Common.PDS(Me.cmb_style.SelectedIndex).WriteXml(XMLFIlename)
|
|
'End If
|
|
|
|
Form_Work.Close()
|
|
End Sub
|
|
Public Sub SAVE_STYLEXML()
|
|
AddLog(Auto_Log, "ini파일에 스타일을 저장합니다. ", "\지중(케이블라벨)순차로그.txt")
|
|
Dim Arinini As New MyINI2(DrStyle.FILE)
|
|
Dim Arininic As New MyINI2(CStr(DrStyle.FILE).ToLower.Replace("ini", "cfg"))
|
|
Dim Arininichk As New MyINI2(CStr(DrStyle.FILE).ToLower.Replace("ini", "ck"))
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
'//현재 선택된 스타일을 저장합니다.
|
|
If Me.cmb_style.SelectedIndex < 0 Then
|
|
erp.SetError(Me.cmb_style, "저장할 스타일이 선택되어있지 않습니다")
|
|
NOTICE("스타일을 선택하세요", Me.lb_msg)
|
|
Return
|
|
End If
|
|
erp.SetError(Me.cmb_style, vbNullString)
|
|
|
|
'//스타일테이블을 저장한다.
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
Tobj = Me.AllLabels(i).ctl
|
|
If Tobj.Pattern = "" Then
|
|
XML.SavePatterN(Me.cmb_style.SelectedIndex, Tobj.Name & "pos", CStr(Tobj.Left & "," & Tobj.Top & "," & Tobj.Width & "," & Tobj.Height))
|
|
XML.SavePatterN(Me.cmb_style.SelectedIndex, Tobj.Name & "font", CStr(Tobj.MyFont.Name & "," & Tobj.MyFont.Size & "," & Tobj.MyFont.Underline & "," & Tobj.MyFont.Bold & "," & Tobj.MyFont.Italic & "," & Tobj.장평 & "," & Tobj.장높이))
|
|
XML.SavePatterN(Me.cmb_style.SelectedIndex, Tobj.Name & "visible", "true")
|
|
XML.SavePatterN(Me.cmb_style.SelectedIndex, Tobj.Name & "space", CStr(Tobj.공백))
|
|
XML.SavePatterN(Me.cmb_style.SelectedIndex, Tobj.Name & "repeat", CStr(Tobj.Repeat & "," & Tobj.RepeatX & "," & Tobj.RepeatY))
|
|
End If
|
|
Next
|
|
|
|
'//해당 CK파일에 저장되었음을 알린다.(1/0)
|
|
Arininichk.Write("STYLE", "SAVED", "1") 'A.Visible)
|
|
For Each TC As TabPage In Me.TabControl1.TabPages '//탭컨트롤1의 모든 페이지에서 체크박스의 상태를 저장한다.
|
|
For Each B As Control In TC.Controls
|
|
If B.GetType.Name.ToUpper = "CHECKBOX" Then '//체크박스라면 태그를 저장한다.
|
|
XML.SaveChkBox(Me.cmb_style.SelectedIndex, B.Name, CType(B, Windows.Forms.CheckBox).Checked) 'A.Visible)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
'//첫번쨰 행을 가져와서 데이터를 덮어쓴다.
|
|
Dim SDR As PatternDS.TStyleRow = PDS(Me.cmb_style.SelectedIndex).TStyle.Rows(0)
|
|
SDR.VIEWIMAGE = Me.chk_DisplayBG.Checked
|
|
|
|
Arinini.Write("STYLE", "ViewImage", Me.chk_DisplayBG.Checked)
|
|
Arinini.Write("STYLE", "printbg", Me.Chk_BgImageprint.Checked)
|
|
Arininic.Write("printer", "printbg", Me.Chk_BgImageprint.Checked)
|
|
Arininic.Write("printer", "MarginX", Me.tb_marginx.Text)
|
|
Arininic.Write("printer", "MarginY", Me.tb_marginy.Text)
|
|
Arininic.Write("printer", "ScaleX", Me.tb_scalex.Text)
|
|
Arininic.Write("printer", "ScaleY", Me.tb_scaley.Text)
|
|
Arininic.Write("printer", "bakx", Me.tb_bakx.Text)
|
|
Arininic.Write("printer", "baky", Me.tb_baky.Text)
|
|
Arininic.Write("printer", "bakw", Me.tb_bakw.Text)
|
|
Arininic.Write("printer", "bakh", Me.tb_bakh.Text)
|
|
|
|
Arinini.Write("STYLE", "bakx", Me.tb_bakx.Text)
|
|
Arinini.Write("STYLE", "baky", Me.tb_baky.Text)
|
|
Arinini.Write("STYLE", "bakw", Me.tb_bakw.Text)
|
|
Arinini.Write("STYLE", "bakh", Me.tb_bakh.Text)
|
|
|
|
If Me.tb_picfile.Text.Trim = "" Then
|
|
Arinini.Write("STYLE", "backimg", "")
|
|
Else
|
|
Dim newpath As String = CStr(My.Application.Info.DirectoryPath & "\image\").ToUpper
|
|
Dim NEwpathp As Short = (Me.tb_picfile.Text.ToUpper.IndexOf(newpath))
|
|
If NEwpathp = -1 Then
|
|
Arinini.Write("STYLE", "backimg", Me.tb_picfile.Text)
|
|
Else
|
|
Arinini.Write("STYLE", "backimg", Me.tb_picfile.Text.Substring(NEwpathp + newpath.Length))
|
|
End If
|
|
End If
|
|
|
|
Arininic.Write("printer", "PrintFontOffset", Me.tb_myfontsize.Text)
|
|
Arinini.Write("STYLE", "LandScape", Me.pDoc.DefaultPageSettings.Landscape)
|
|
|
|
'//더미 체크박스랑 더미콤보박스 인덱스랑 변위 x,y
|
|
' Arinini.Write("STYLE", "dummy", Me.cb_dummy.Checked)
|
|
Arinini.Write("STYLE", "dummycnt", Me.tb_pagerepeat.Text)
|
|
Arinini.Write("STYLE", "dummytype", Me.cmb_dummy.SelectedIndex)
|
|
Arinini.Write("STYLE", "dummmyx", Me.tb_secX.Text)
|
|
Arinini.Write("STYLE", "dummmyy", Me.tb_secY.Text)
|
|
' Arinini.Write("STYLE", "picstyle", Me.ComboBox1.SelectedIndex)
|
|
|
|
Me.SaveReadLayOut(False)
|
|
Me.SaveDrawData(False)
|
|
|
|
NOTICE("기본스타일을 저장했습니다", Me.lb_msg)
|
|
AddLog(Auto_Log, "save style 완료후 데이터테이블 갱신을 호춣 ", "\지중(케이블라벨)순차로그.txt")
|
|
Me.데이터테이블갱신()
|
|
Me.preview_window()
|
|
|
|
|
|
If DrStyle.ISXML = False Then
|
|
'//xml 파일생성
|
|
Dim XMLFIlename As String = CStr(DrStyle.FILE).ToLower.Replace("ini", "xml")
|
|
MsgBox("구형 패턴파일을 변환합니다" & vbCrLf & XMLFIlename)
|
|
Common.PDS(Me.cmb_style.SelectedIndex).WriteXml(XMLFIlename)
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
Private Sub bt_canvasD_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles bt_canvasD.MouseDown, bt_canvasL.MouseDown, bt_canvasR.MouseDown, bt_canvasU.MouseDown
|
|
If e.Button = Windows.Forms.MouseButtons.Right Then
|
|
Select Case sender.name.ToString.ToUpper
|
|
Case "BT_CANVASD"
|
|
Me.PictureBox1.Top += 5
|
|
Case "BT_CANVASU"
|
|
Me.PictureBox1.Top -= 5
|
|
Case "BT_CANVASR"
|
|
Me.PictureBox1.Left += 5
|
|
Case "BT_CANVASL"
|
|
Me.PictureBox1.Left -= 5
|
|
End Select
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Public Sub SAVE_PATTERNII(ByVal labels() As MyControlOLEDBv2.MyLabel, ByVal SRCSTR As String, Optional ByVal LOGFILENAME As String = "\패턴.TXT", Optional ByVal BlineNum As String = "", Optional ByVal RefreshDataTable As Boolean = True) '패턴을 저장합니다. 패턴역시 위치/크기/장평등이 저장됩니다.
|
|
Dim Arinini As New MyINI2(DrStyle.FILE)
|
|
Dim BUF() As Char = SRCSTR.ToCharArray
|
|
Dim mb As String = PATTERN_ENC(SRCSTR)
|
|
Dim MidName As String = labels(0).Pattern
|
|
If BlineNum <> "" Then MidName = "LNUM" & BlineNum & MidName
|
|
'선로명 패턴 저장
|
|
Dim TOBJ As MyControlOLEDBv2.MyLabel
|
|
Dim Pname As String = MidName & "II" & mb.ToString
|
|
|
|
' AddLog(Auto_Log, " save_pattern2 를 실행한다.", "\지중(케이블라벨)순차로그.txt")
|
|
For i As Integer = 0 To labels.GetUpperBound(0)
|
|
TOBJ = labels(i)
|
|
' AddLog(Auto_Log, MidName & "패턴저장시 아이템=" & TOBJ.Name & "/" & TOBJ.Name.Substring(0, 1).ToUpper, LOGFILENAME)
|
|
Arinini.Write(Pname, "DESC", "저장된 문자패턴 " & MidName)
|
|
'AddLog(Auto_Log, "최종선택완료=" & Pname & " " & TOBJ.Name & "/" & TOBJ.Name.Substring(0, 1).ToUpper, LOGFILENAME)
|
|
Arinini.Write(Pname, TOBJ.Name & "pos", TOBJ.Left & "," & TOBJ.Top & "," & TOBJ.Width & "," & TOBJ.Height)
|
|
Arinini.Write(Pname, TOBJ.Name & "font", TOBJ.MyFont.Name & "," & TOBJ.MyFont.Size & "," & TOBJ.MyFont.Underline & "," & TOBJ.MyFont.Bold & "," & TOBJ.MyFont.Italic & "," & TOBJ.장평 & "," & TOBJ.장높이)
|
|
Arinini.Write(Pname, TOBJ.Name & "visible", TOBJ.Visible)
|
|
Arinini.Write(Pname, TOBJ.Name & "space", TOBJ.공백)
|
|
Arinini.Write(Pname, TOBJ.Name & "repeat", TOBJ.Repeat & "," & TOBJ.RepeatX & "," & TOBJ.RepeatY) '//반복출력정보저장
|
|
Next
|
|
Arinini.Write(Pname, "LineType", Me.tb_ntype.Text)
|
|
Arinini.Write(Pname, "nseparate", Me.cmb_sep.SelectedIndex)
|
|
' AddLog(Auto_Log, "save_patter2 ㅔ서 데이터테이블 갱신을 ㅎ호출한다ㅣㅣ ", "\지중(케이블라벨)순차로그.txt")
|
|
If RefreshDataTable Then Me.데이터테이블갱신()
|
|
End Sub
|
|
|
|
Private Sub cmb_controls_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_controls.SelectedIndexChanged
|
|
'//개체가 선택되면 해당 개체의 내역을 보여준다.
|
|
'Me.Timer1.Enabled = False
|
|
AddLog(Auto_Log, "개체목록 콤보박스에서 특정 개체가 선택되었다 view property 호출", "\지중(케이블라벨)순차로그.txt")
|
|
ViewProperty(AllLabels(Me.cmb_controls.SelectedIndex).ctl)
|
|
End Sub
|
|
|
|
Private Sub cb_visible_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_visible.CheckedChanged
|
|
AddLog(Auto_Log, "표시 체크박스 선택 ", "\지중(케이블라벨)순차로그.txt")
|
|
For Each a As Control In SelCon
|
|
a.Visible = Me.cb_visible.Checked
|
|
Next
|
|
AddLog(Auto_Log, "[표시] 체크박스 선택에서 pewview를 호출 ", "\지중(케이블라벨)순차로그.txt")
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub tb_foncol_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_foncol.DoubleClick
|
|
AddLog(Auto_Log, " 글씨색깔 변경 클릭됨", "\지중(케이블라벨)순차로그.txt")
|
|
Dim A As New ColorDialog
|
|
If A.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
|
For Each Onlyone As MyControlOLEDBv2.MyLabel In SelCon
|
|
Onlyone.MyForeColor = A.Color
|
|
Next
|
|
Me.tb_foncol.BackColor = A.Color
|
|
End If
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub cb_bold_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_bold.CheckedChanged
|
|
AddLog(Auto_Log, "글씨꿁게 선택됨 setfont 호출 ", "\지중(케이블라벨)순차로그.txt")
|
|
SetFont()
|
|
End Sub
|
|
|
|
Private Sub UpdateFontSize(ByVal newsize As Integer, Optional ByVal Src As MyControlOLEDBv2.MyLabel = Nothing) '
|
|
AddLog(Auto_Log, "updatefont : ", "\지중(케이블라벨)순차로그.txt")
|
|
Dim A As Font
|
|
For Each Tobj As MyControlOLEDBv2.MyLabel In SelCon
|
|
A = New Font(Tobj.MyFont.FontFamily, newsize, FontStyle.Regular, GraphicsUnit.Point)
|
|
Tobj.MyFont = A
|
|
Next
|
|
Me.SetFont()
|
|
End Sub
|
|
|
|
Public Sub CtrSize(ByVal vertical As Boolean, ByVal offset As Short)
|
|
If SelCon Is Nothing OrElse SelCon.Count < 1 Then Exit Sub
|
|
|
|
For Each sender As MyControlOLEDBv2.MyLabel In SelCon
|
|
If vertical Then '//상하
|
|
If My.Computer.Keyboard.CtrlKeyDown Then
|
|
If offset < 0 Then
|
|
sender.장높이 -= 10
|
|
Else
|
|
sender.장높이 += 10
|
|
End If
|
|
Else
|
|
sender.장높이 += offset
|
|
End If
|
|
Else '//좌우
|
|
If My.Computer.Keyboard.CtrlKeyDown Then
|
|
If offset < 0 Then
|
|
sender.장평 -= 10
|
|
Else
|
|
sender.장평 += 10
|
|
End If
|
|
Else
|
|
sender.장평 += offset
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Public Sub LOAD_STYLEC(ByVal StyleName As String, ByVal Div As String)
|
|
'//기타스타일은 빈도가 적으니 파일에서 불러오기로한다.;;메모리는 싫타.
|
|
Dim Arinini As New MyINI2(FileC)
|
|
If Not IO.File.Exists(FileC) Then
|
|
MsgBox("기타스타일설정 파일이 존재하지 않습니다\n\n관리자에 문의하세요", MsgBoxStyle.Critical, "오류")
|
|
Return
|
|
End If
|
|
Dim pos(), font(), visible As String '//구전산번호를 구현해본다.
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
Tobj = Me.AllLabels(i).ctl
|
|
Try
|
|
If Div.ToUpper = "Z" Then '//모든아이템을 가져오고
|
|
pos = Arinini.Read(StyleName, Tobj.Name & "pos").Split(",")
|
|
font = Arinini.Read(StyleName, Tobj.Name & "font").Trim(Chr(0)).Split(",")
|
|
visible = Arinini.Read(StyleName, Tobj.Name & "visible")
|
|
'//상태를 읽어서 바로 적용한다.
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
Tobj.MyFont = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
Tobj.장평 = font(5)
|
|
Tobj.장높이 = font(6)
|
|
Tobj.공백 = Arinini.Read(StyleName, Tobj.Name & "space", 0)
|
|
Tobj.Visible = CType(visible, Boolean)
|
|
Else '이곳에 O가올것이다.
|
|
If Tobj.DIV = Div Then
|
|
pos = Arinini.Read(StyleName, Tobj.Name & "pos").Split(",")
|
|
font = Arinini.Read(StyleName, Tobj.Name & "font").Trim(Chr(0)).Split(",")
|
|
visible = Arinini.Read(StyleName, Tobj.Name & "visible")
|
|
'//상태를 읽어서 바로 적용한다.
|
|
Tobj.Location = New Point(pos(0), pos(1))
|
|
Tobj.Size = New Size(pos(2), pos(3))
|
|
Tobj.MyFont = New Font(font(0), font(1), IIf(font(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
Tobj.장평 = font(5)
|
|
Tobj.장높이 = font(6)
|
|
Tobj.공백 = Arinini.Read(StyleName, Tobj.Name & "space", 0)
|
|
Tobj.Visible = CType(visible, Boolean)
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
AddLog(Auto_Log, "LOAD_STYLE_CUSTOM 오류:" & ex.Message.ToString, "LOAD_STYLEC")
|
|
End Try
|
|
Next
|
|
NOTICE(StyleName & "기타스타일을 불러왔습니다.", Me.lb_msg)
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Public Sub SAVE_STYLEC(ByVal stylename As String, ByVal div As String) '//기타스타일 저장한다.
|
|
Dim Arinini As New MyINI2(FileC)
|
|
'//현재 선택된 스타일을 저장합니다.
|
|
Arinini.Write(stylename, "DESC", stylename)
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
Tobj = Me.AllLabels(i).ctl
|
|
Arinini.Write(stylename, Tobj.Name & "pos", Tobj.Left & "," & Tobj.Top & "," & Tobj.Width & "," & Tobj.Height)
|
|
Arinini.Write(stylename, Tobj.Name & "font", Tobj.MyFont.Name & "," & Tobj.MyFont.Size & "," & Tobj.MyFont.Underline & "," & Tobj.MyFont.Bold & "," & Tobj.MyFont.Italic & "," & Tobj.장평 & "," & Tobj.장높이)
|
|
Arinini.Write(stylename, Tobj.Name & "visible", Tobj.Visible)
|
|
Arinini.Write(stylename, Tobj.Name & "space", Tobj.공백)
|
|
Next
|
|
NOTICE("기타스타일을 저장했습니다", Me.lb_msg)
|
|
End Sub
|
|
|
|
Private Sub BindingNavigatorPositionItem_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles BindingNavigatorPositionItem.KeyUp
|
|
'//현재위치에서 엔터켯을경우 데이터베이스 위치값을 변경한다.(position)
|
|
If e.KeyCode = Keys.Enter Then
|
|
If IsNumeric(Me.BindingNavigatorPositionItem.Text) Then Me.GeTviewData(Me.BindingNavigatorPositionItem.Text - 1, True)
|
|
End If
|
|
End Sub
|
|
Private Sub showcnt(ByVal cnt1 As Integer, ByVal cnt2 As Integer, Optional ByVal tag As String = "")
|
|
Me.lb_msg.Text = cnt1 & "/" & cnt2 & Space(1) & tag
|
|
My.Application.DoEvents()
|
|
End Sub
|
|
Private Sub NPartternCheck()
|
|
Dim 번호패턴검사 As Integer = 0
|
|
|
|
'//패턴검사시작
|
|
' Me.PictureBox1.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\image\start.png")
|
|
For i As Integer = Me.textbox1.Text To Me.textbox2.Text
|
|
Me.showcnt(i, Me.textbox2.Text)
|
|
|
|
Me.textbox1.Text = i
|
|
번호패턴검사 = ChkNumPattern(i)
|
|
' MsgBox(번호패턴검사)
|
|
|
|
If 번호패턴검사 = 0 Then '1은 길이패턴이 없고 3이나 2는 문자패턴이다
|
|
NOTICE("일련번호=" & i + 1 & "번 문자,길이 패턴이 존재하지 않습니다", Me.lb_msg)
|
|
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\ding.wav", AudioPlayMode.Background)
|
|
'If MsgBox("Sdf", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
|
Me.BindingSource1.Position = i
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Me.textbox1.Text = Me.textbox2.Text Then '//완료되었다면
|
|
My.Computer.Audio.Play(My.Application.Info.DirectoryPath & "\sound\notify.wav", AudioPlayMode.Background)
|
|
NOTICE("패턴검사가 완료되었습니다", Me.lb_msg)
|
|
End If
|
|
Me.bt_chkpattern.Text = "시작(&S)"
|
|
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.RadioButton3.Checked = True
|
|
End Sub
|
|
|
|
Public Function PARSE(ByVal srcstr As String, ByVal Mylabels() As MyControlOLEDBv2.MyLabel) As Boolean
|
|
'/선로명의 길이는 예측되지 않는다 동적 컨트롤 생성을 사용한다.
|
|
' MsgBox("PARSET_관리구")
|
|
AddLog(Auto_Log, Mylabels(0).Name & "의 그룹컨트롤을 초기화합니다. Clear Item")
|
|
Me.CLEAR_ITEM(Mylabels)
|
|
Dim Log As String = "\Parse_" & Mylabels(0).Name & ".txt"
|
|
If srcstr = "" OrElse Not Mylabels(0).CheckBox.Checked Then
|
|
AddLog(Auto_Log, "Zero Length - Return", Log)
|
|
Return False
|
|
End If
|
|
AddLog(Auto_Log, "pase 시작", Log)
|
|
|
|
Dim Wlen As Short = srcstr.Length
|
|
Dim SepPos As Short = srcstr.IndexOf(";")
|
|
Dim SRC() As Char = srcstr.ToCharArray
|
|
|
|
AddLog(Auto_Log, "Length=" & Wlen & " Sep=" & SepPos, Log)
|
|
|
|
If Mylabels.GetUpperBound(0) = 0 Then
|
|
Mylabels(0).MyText = srcstr
|
|
Mylabels(0).Visible = True
|
|
Else
|
|
For i As Integer = 0 To Wlen - 1 '//모든문자를 할당한다.
|
|
Try
|
|
Select Case SRC(i)
|
|
Case ";"
|
|
Mylabels(i).MyText = "---"
|
|
Mylabels(i).Visible = True
|
|
Case ":"
|
|
Mylabels(i).MyText = ""
|
|
Mylabels(i).Visible = True
|
|
Case Else
|
|
Mylabels(i).MyText = SRC(i)
|
|
Mylabels(i).Visible = True
|
|
End Select
|
|
Catch ex As Exception
|
|
Exit For
|
|
End Try
|
|
Next
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Public Sub PARSE_PATTERN(ByVal Srcstr As String, ByVal labels() As MyControlOLEDBv2.MyLabel, Optional ByVal BlineNum As String = "")
|
|
Dim Wlen As Short = Srcstr.Length : If Wlen <= 0 Then Return '//없는 글귀가 왓을때 턴해버린다.
|
|
Dim Log As String = "\PATTERN_" & labels(0).Name & ".txt"
|
|
'//먼저패턴이 존재하는지 확인해본다.
|
|
'길이패턴여부를 확인했으므로 패턴을적용한다.[STYLE1LINEPATTERN9]
|
|
Dim Pname As String = labels(0).Pattern & Wlen
|
|
If BlineNum <> "" Then '//줄그룹
|
|
' Me.길이패턴연습(Srcstr, "LNUM" & BlineNum & Pname, Log, labels(0).Tag, labels)
|
|
Pname = labels(0).Pattern & "II" & PATTERN_ENC(Srcstr)
|
|
Me.문자패턴연습(Srcstr, "LNUM" & BlineNum & Pname, Log, labels)
|
|
Else
|
|
' Me.길이패턴연습(Srcstr, Pname, Log, labels(0).Tag, labels)
|
|
Pname = labels(0).Pattern & "II" & PATTERN_ENC(Srcstr)
|
|
Me.문자패턴연습(Srcstr, Pname, Log, labels)
|
|
End If
|
|
'//패턴1이 끝났다 패턴2를 찾는다.
|
|
'//패턴2는 style1LInepatternII문자숫자형식
|
|
End Sub
|
|
|
|
|
|
Private Sub tb_ntype_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
|
If e.KeyCode = Keys.Enter Then
|
|
If Me.cmb_sep.SelectedIndex = 1 Then
|
|
NOTICE("분리상태에서는 번호지정이 불가능합니다", Drawing.Color.Red, Me.lb_msg)
|
|
Else
|
|
' 번호형식지정(Me.tb_ntype.Text)
|
|
End If
|
|
Me.preview_window()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub SaveReadLayOut(ByVal read As Boolean) '//현재 화면구성을 가로/세로 결정합니다.
|
|
'//ini파일에저장한다. 섹션명은 pagetype0 ,pagetyp1 0은 세로 1은 가로다
|
|
Dim ini As New MyINI2(DrStyle.FILE) 'drstyle.File)
|
|
Dim Secname As String = "pagetype" & Me.cmb_landscape.SelectedIndex
|
|
|
|
If read = False Then
|
|
NWork_Form("화면구성형태를 저장합니다.", 0)
|
|
ini.Write(Secname, "tablelayoutpanel1loc", Me.TableLayoutPanel1.Left & "," & Me.TableLayoutPanel1.Top)
|
|
ini.Write(Secname, "tablelayoutpanel1size", Me.TableLayoutPanel1.Width & "," & Me.TableLayoutPanel1.Height)
|
|
ini.Write(Secname, "PictureBox1loc", Me.PictureBox1.Left & "," & Me.PictureBox1.Top)
|
|
ini.Write(Secname, "PictureBox1size", Me.PictureBox1.Width & "," & Me.PictureBox1.Height)
|
|
ini.Write(Secname, "TabControl1loc", Me.TabControl1.Left & "," & Me.TabControl1.Top)
|
|
ini.Write(Secname, "TabControl1size", Me.TabControl1.Width & "," & Me.TabControl1.Height)
|
|
ini.Write(Secname, "GroupBox3loc", Me.GroupBox3.Left & "," & Me.GroupBox3.Top)
|
|
ini.Write(Secname, "GroupBox3size", Me.GroupBox3.Width & "," & Me.GroupBox3.Height)
|
|
ini.Write(Secname, "GroupBox2loc", Me.GroupBox2.Left & "," & Me.GroupBox2.Top)
|
|
ini.Write(Secname, "GroupBox2size", Me.GroupBox2.Width & "," & Me.GroupBox2.Height)
|
|
ini.Write(Secname, "cmb_styleloc", Me.cmb_style.Left & "," & Me.cmb_style.Top)
|
|
ini.Write(Secname, "cmb_stylesize", Me.cmb_style.Width & "," & Me.cmb_style.Height)
|
|
ini.Write(Secname, "ToolStrip2loc", Me.ToolStrip2.Left & "," & Me.ToolStrip2.Top)
|
|
ini.Write(Secname, "mesize", Me.Width & "," & Me.Height)
|
|
Else '//여기는 읽는 부분
|
|
NWork_Form("화면구성형태를 불러옵니다.", 0)
|
|
If Me.cmb_landscape.SelectedIndex = 0 Then '//세로
|
|
Me.pDoc.DefaultPageSettings.Landscape = False
|
|
TableLayoutPanel1.Location = New Point(ini.Read(Secname, "tablelayoutpanel1loc", "0,31").Split(",")(0), ini.Read(Secname, "tablelayoutpanel1loc", "0,31").Split(",")(1))
|
|
TableLayoutPanel1.Size = New Size(ini.Read(Secname, "tablelayoutpanel1size", "297,522").Split(",")(0), ini.Read(Secname, "tablelayoutpanel1size", "297,522").Split(",")(1))
|
|
PictureBox1.Location = New Point(ini.Read(Secname, "PictureBox1loc", "3,3").Split(",")(0), ini.Read(Secname, "PictureBox1loc", "3,3").Split(",")(1))
|
|
PictureBox1.Size = New Size(ini.Read(Secname, "PictureBox1size", "270,479").Split(",")(0), ini.Read(Secname, "PictureBox1size", "270,479").Split(",")(1))
|
|
TabControl1.Location = New Point(ini.Read(Secname, "TabControl1loc", "303,34").Split(",")(0), ini.Read(Secname, "TabControl1loc", "303,34").Split(",")(1))
|
|
TabControl1.Size = New Size(ini.Read(Secname, "TabControl1size", "279,519").Split(",")(0), ini.Read(Secname, "TabControl1size", "279,519").Split(",")(1))
|
|
TabControl2.Location = New Point(ini.Read(Secname, "TabControl2loc", "16,246").Split(",")(0), ini.Read(Secname, "TabControl2loc", "16,246").Split(",")(1))
|
|
GroupBox3.Location = New Point(ini.Read(Secname, "GroupBox3loc", "11,368").Split(",")(0), ini.Read(Secname, "GroupBox3loc", "11,368").Split(",")(1))
|
|
GroupBox3.Size = New Size(ini.Read(Secname, "GroupBox3size", "246,78").Split(",")(0), ini.Read(Secname, "GroupBox3size", "246,78").Split(",")(1))
|
|
GroupBox2.Location = New Point(ini.Read(Secname, "GroupBox2loc", "11,170").Split(",")(0), ini.Read(Secname, "GroupBox2loc", "11,170").Split(",")(1))
|
|
GroupBox2.Size = New Size(ini.Read(Secname, "GroupBox2size", "245,192").Split(",")(0), ini.Read(Secname, "GroupBox2size", "245,192").Split(",")(1))
|
|
cmb_style.Location = New Point(ini.Read(Secname, "cmb_styleloc", "11,18").Split(",")(0), ini.Read(Secname, "cmb_styleloc", "11,18").Split(",")(1))
|
|
cmb_style.Size = New Size(ini.Read(Secname, "cmb_stylesize", "245,146").Split(",")(0), ini.Read(Secname, "cmb_stylesize", "245,146").Split(",")(1))
|
|
ToolStrip2.Location = New Point(ini.Read(Secname, "ToolStrip2loc", "3,451").Split(",")(0), ini.Read(Secname, "ToolStrip2loc", "3,451").Split(",")(1))
|
|
Me.Size = New Size(ini.Read(Secname, "mesize", "588,632").Split(",")(0), ini.Read(Secname, "mesize", "588,632").Split(",")(1))
|
|
Else
|
|
Me.pDoc.DefaultPageSettings.Landscape = True
|
|
TableLayoutPanel1.Location = New Point(ini.Read(Secname, "tablelayoutpanel1loc", "0,31").Split(",")(0), ini.Read(Secname, "tablelayoutpanel1loc", "0,31").Split(",")(1))
|
|
TableLayoutPanel1.Size = New Size(ini.Read(Secname, "tablelayoutpanel1size", "710,292").Split(",")(0), ini.Read(Secname, "tablelayoutpanel1size", "710,292").Split(",")(1))
|
|
PictureBox1.Location = New Point(ini.Read(Secname, "PictureBox1loc", "325,3").Split(",")(0), ini.Read(Secname, "PictureBox1loc", "325,3").Split(",")(1))
|
|
PictureBox1.Size = New Size(ini.Read(Secname, "PictureBox1size", "355,200").Split(",")(0), ini.Read(Secname, "PictureBox1size", "355,200").Split(",")(1))
|
|
TabControl1.Location = New Point(ini.Read(Secname, "TabControl1loc", "3,326").Split(",")(0), ini.Read(Secname, "TabControl1loc", "3,326").Split(",")(1))
|
|
TabControl1.Size = New Size(ini.Read(Secname, "TabControl1size", "711,228").Split(",")(0), ini.Read(Secname, "TabControl1size", "711,228").Split(",")(1))
|
|
TabControl2.Location = New Point(ini.Read(Secname, "TabControl2loc", "265,1").Split(",")(0), ini.Read(Secname, "TabControl2loc", "265,1").Split(",")(1))
|
|
GroupBox3.Location = New Point(ini.Read(Secname, "GroupBox3loc", "513,6").Split(",")(0), ini.Read(Secname, "GroupBox3loc", "513,6").Split(",")(1))
|
|
GroupBox3.Size = New Size(ini.Read(Secname, "GroupBox3size", "184,78").Split(",")(0), ini.Read(Secname, "GroupBox3size", "184,78").Split(",")(1))
|
|
GroupBox2.Location = New Point(ini.Read(Secname, "GroupBox2loc", "262,6").Split(",")(0), ini.Read(Secname, "GroupBox2loc", "262,6").Split(",")(1))
|
|
GroupBox2.Size = New Size(ini.Read(Secname, "GroupBox2size", "245,192").Split(",")(0), ini.Read(Secname, "GroupBox2size", "245,192").Split(",")(1))
|
|
cmb_style.Location = New Point(ini.Read(Secname, "cmb_styleloc", "11,18").Split(",")(0), ini.Read(Secname, "cmb_styleloc", "11,18").Split(",")(1))
|
|
cmb_style.Size = New Size(ini.Read(Secname, "cmb_stylesize", "245,139").Split(",")(0), ini.Read(Secname, "cmb_stylesize", "245,139").Split(",")(1))
|
|
ToolStrip2.Location = New Point(ini.Read(Secname, "ToolStrip2loc", "3,159").Split(",")(0), ini.Read(Secname, "ToolStrip2loc", "3,159").Split(",")(1))
|
|
Me.Size = New Size(ini.Read(Secname, "mesize", "730,643").Split(",")(0), ini.Read(Secname, "mesize", "730,643").Split(",")(1))
|
|
End If
|
|
End If
|
|
Form_Work.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub cmb_landscape_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_landscape.SelectedIndexChanged
|
|
Me.SaveReadLayOut(True)
|
|
End Sub
|
|
|
|
Private Sub GetPrintersName()
|
|
AddLog(Auto_Log, "GetPrinterName()", "\지중(케이블라벨)순차로그.txt")
|
|
Dim value As PrinterSettings.StringCollection = System.Drawing.Printing.PrinterSettings.InstalledPrinters
|
|
Me.combobox5.Items.Clear()
|
|
For i As Integer = 0 To value.Count - 1
|
|
Me.combobox5.Items.Add(value(i))
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub printform_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
|
|
If e.Delta < 0 Then
|
|
'If Me.BindingNavigatorPositionItem.Text < Me.BindingNavigatorCountItem.Text Then
|
|
Me.BindingNavigatorMoveNextItem.PerformClick()
|
|
Me.BindingNavigatorPositionItem.Focus()
|
|
'End If
|
|
Else
|
|
If Me.BindingNavigatorPositionItem.Text > 0 Then
|
|
Me.BindingNavigatorMovePreviousItem.PerformClick()
|
|
Me.BindingNavigatorPositionItem.Focus()
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_chkpattern.Click
|
|
If Me.bt_chkpattern.Text = "중지(&S)" Then
|
|
' If BackWork.IsAlive Then BackWork.Abort()
|
|
Me.bt_chkpattern.Text = "시작(&S)"
|
|
Else
|
|
Me.bt_chkpattern.Text = "중지(&S)"
|
|
'BackWork = New Threading.Thread(AddressOf NPartternCheck)
|
|
'BackWork.Start()
|
|
NPartternCheck()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
|
|
'Me.SetFont()
|
|
If Not IsNumeric(Me.tb_space.Text) Then
|
|
MsgBox("숫자만 입력하세요", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
For Each A As Control In SelCon
|
|
CType(A, MyControlOLEDBv2.MyLabel).공백 = CInt(Me.tb_space.Text)
|
|
'Me.UpdateFontSize(Me.tb_space.Text, A)
|
|
Next
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub tb_picfile_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_picfile.TextChanged
|
|
If Not IO.File.Exists(Me.tb_picfile.Text) Then
|
|
Me.erp.SetError(Me.tb_picfile, "그림파일이 존재하지 않습니다")
|
|
Else
|
|
Me.erp.SetError(Me.tb_picfile, "")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bt_canvasL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_canvasL.Click
|
|
Me.PictureBox1.Width -= 2
|
|
End Sub
|
|
|
|
Private Sub bt_canvasR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_canvasR.Click
|
|
Me.PictureBox1.Width += 2
|
|
End Sub
|
|
|
|
Private Sub bt_canvasU_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_canvasU.Click
|
|
Me.PictureBox1.Height -= 2
|
|
End Sub
|
|
|
|
Private Sub bt_canvasD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_canvasD.Click
|
|
Me.PictureBox1.Height += 2
|
|
End Sub
|
|
|
|
Private Sub tb_space_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
|
|
If e.KeyCode = Keys.Enter Then Me.Button3.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub preview_window() '//미리보기화면을 생성합니다.
|
|
'Dim fmt As New StringFormat(StringFormatFlags.LineLimit)
|
|
Dim MyFont As Font
|
|
Dim NewFontSize As Int16 = 10
|
|
Dim dummy As Boolean = False '//이값이 true 이면 출력시 변위를 지정해서 출력한다.
|
|
Dim BackScr As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height, Me.PictureBox1.CreateGraphics)
|
|
Dim Ga As Graphics = Graphics.FromImage(BackScr)
|
|
Dim Brush As SolidBrush
|
|
Dim obj As MyControlOLEDBv2.MyLabel
|
|
|
|
'//쉐이프를 먼저 그린다.
|
|
If Me.chk_draw.Checked Then
|
|
'//라인을 그린다.
|
|
For Each Rect As S_Line In Draw_Line
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
Ga.DrawLine(Pen, Rect.X, Rect.Y, Rect.X2, Rect.Y2)
|
|
Next
|
|
'//박스를 그린다.
|
|
For Each Rect As S_Box In Draw_Box
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
Ga.DrawRectangle(Pen, Rect.X, Rect.Y, Rect.Width, Rect.Height)
|
|
Next
|
|
'//원을 그린다.
|
|
For Each Rect As S_Circle In Draw_Circle
|
|
Dim Pen As New Drawing.Pen(Rect.PenColor, Rect.PenWidth)
|
|
Ga.DrawEllipse(Pen, Rect.X, Rect.Y, Rect.Width, Rect.Height)
|
|
Next
|
|
End If
|
|
|
|
If Me.tb_pagerepeat.Text = "" Or Me.tb_pagerepeat.Text < 1 Then Me.tb_pagerepeat.Text = "1"
|
|
|
|
For pi As Short = 0 To Me.tb_pagerepeat.Text - 1 '//페이지당 연속출력할 횟수
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0) '//모든 개체들에 대해서 인쇄를 설정한다.
|
|
obj = Me.AllLabels(i).ctl
|
|
If obj.Visible AndAlso obj.MyText <> "" Then '//화면에 보이는것만 한다.
|
|
|
|
For rcnt As Short = 0 To obj.Repeat '//반복기능추가한다
|
|
NewFontSize = obj.MyFont.Size + Me.tb_myfontsize.Text
|
|
If NewFontSize < 0 Then NewFontSize = 0
|
|
|
|
If pi > 0 Then '//연속출력에의한 샊깔변경
|
|
Brush = New SolidBrush(Drawing.Color.DarkKhaki) '//전경색으로 브러쉬를 만든다.
|
|
Else
|
|
If rcnt > 0 Then '//더미출력에의한 색깔변경
|
|
Brush = New SolidBrush(Drawing.Color.LightGray) '//전경색으로 브러쉬를 만든다.
|
|
Else
|
|
Brush = New SolidBrush(obj.MyForeColor) '//전경색으로 브러쉬를 만든다.
|
|
End If
|
|
End If
|
|
|
|
MyFont = New Font(obj.MyFont.FontFamily, NewFontSize, obj.MyFont.Style)
|
|
If obj.장평 = 100 AndAlso obj.장높이 = 100 Then '//장평미사용 문자열 처리
|
|
Ga.DrawString(obj.최종문자, MyFont, Brush, (obj.Left + Me.tb_secX.Text * pi + obj.RepeatX * rcnt), (obj.Top + Me.tb_secY.Text * pi + obj.RepeatY * rcnt))
|
|
Else '//장평사용 이미지 처리
|
|
Dim NewX, Newy As Integer
|
|
Dim SrcDpix, SrcDPiY As Single
|
|
'MsgBox(Tobj.장높이)
|
|
SrcDpix = obj.CreateGraphics.DpiX
|
|
SrcDPiY = obj.CreateGraphics.DpiY
|
|
|
|
NewX = obj.GetSize(MyFont).Width * (obj.장평 / 100) * (Ga.DpiX / SrcDpix)
|
|
Newy = obj.GetSize(MyFont).Height * (obj.장높이 / 100) * (Ga.DpiY / SrcDPiY)
|
|
|
|
Dim BMP As New Bitmap(NewX, Newy, Ga)
|
|
Dim G As Graphics = Graphics.FromImage(BMP)
|
|
|
|
G.ResetTransform()
|
|
G.ScaleTransform((obj.장평 / 100), (obj.장높이 / 100))
|
|
If rcnt > 0 Then
|
|
G.DrawString(obj.최종문자, MyFont, Brushes.LightGray, 0, 0)
|
|
G.Dispose()
|
|
Ga.DrawImage(BMP, New Point(obj.Left + Me.tb_secX.Text * pi + obj.RepeatX * rcnt, obj.Top + Me.tb_secY.Text * pi + obj.RepeatY * rcnt)) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
|
|
Else
|
|
G.DrawString(obj.최종문자, MyFont, Brush, 0, 0)
|
|
G.Dispose()
|
|
Ga.DrawImage(BMP, New Point(obj.Left + Me.tb_secX.Text * pi, obj.Top + Me.tb_secY.Text * pi)) ', CInt(GetSize.Width * (v장평 / 100)), GetSize.Height)
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
Next
|
|
Ga.Dispose()
|
|
Me.PictureBox1.Image = BackScr
|
|
End Sub
|
|
Private Sub cb_bold_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
SetFont()
|
|
End Sub
|
|
|
|
Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
|
If SelCon Is Nothing Then Return
|
|
|
|
Dim B As New FontDialog
|
|
B.Font = CType(SelCon(0), MyControlOLEDBv2.MyLabel).MyFont
|
|
If B.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return
|
|
|
|
For Each a As MyControlOLEDBv2.MyLabel In SelCon
|
|
a.MyFont = B.Font
|
|
Next
|
|
Me.ViewProperty(CType(SelCon(0), MyControlOLEDBv2.MyLabel))
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub TextBox3_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_left.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button5.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub TextBox4_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_top.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button9.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
|
|
For Each A As Control In SelCon
|
|
A.Top = IIf(IsNumeric(Me.tb_top.Text), Val(Me.tb_top.Text), A.Top)
|
|
Next
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
|
|
If Not IsNumeric(Me.tb_wordwidth.Text) Then Return
|
|
For Each A As Control In SelCon
|
|
'Me.UpdateFontWidth(CType(A, MyControlOLEDBv2.MyLabel).장평 - Val(Me.tb_pixelsize.Text))
|
|
' MsgBox(CType(A, MyControlOLEDBv2.MyLabel).설명)
|
|
CType(A, MyControlOLEDBv2.MyLabel).장평 = CShort(Me.tb_wordwidth.Text)
|
|
Next
|
|
ViewProperty(SelCon(0))
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
|
|
If Not IsNumeric(Me.tb_wordheight.Text) Then Return
|
|
For Each A As Control In SelCon
|
|
'Me.UpdateFontWidth(CType(A, MyControlOLEDBv2.MyLabel).장평 - Val(Me.tb_pixelsize.Text))
|
|
CType(A, MyControlOLEDBv2.MyLabel).장높이 = CShort(Me.tb_wordheight.Text)
|
|
Next
|
|
ViewProperty(SelCon(0))
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
|
|
If Not IsNumeric(Me.tb_fsize.Text) Then
|
|
MsgBox("숫자만 입력하세요", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
For Each A As Control In SelCon
|
|
Me.UpdateFontSize(Me.tb_fsize.Text, A)
|
|
Next
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
|
|
For Each A As Control In SelCon
|
|
A.Left = IIf(IsNumeric(Me.tb_left.Text), Val(Me.tb_left.Text), A.Left)
|
|
Next
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub TextBox5_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_wordwidth.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button10.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub TextBox6_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_wordheight.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button11.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub TextBox7_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_fsize.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button12.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub TextBox8_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_space.KeyUp
|
|
If e.KeyCode = Keys.Enter Then Me.Button3.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
|
|
If SelCon Is Nothing Then Return
|
|
Dim B As New FontDialog
|
|
B.Font = CType(SelCon(0), MyControlOLEDBv2.MyLabel).MyFont
|
|
For Each a As MyControlOLEDBv2.MyLabel In SelCon
|
|
a.MyFont = B.Font
|
|
Next
|
|
Me.ViewProperty(CType(SelCon(0), MyControlOLEDBv2.MyLabel))
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub BindingSource1_PositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles BindingSource1.PositionChanged
|
|
'MsgBox("BindingSource1_PositionChanged=" & Now.ToString & "current=" & Me.BindingNavigatorPositionItem.Text & "mnoview=" & NoView)
|
|
Debug.Print("BindingSource1_PositionChanged : " & Me.BindingSource1.Position)
|
|
Debug.Print("스크롤바값 범위값 " & Me.VScrollBar1.Minimum & "/" & Me.VScrollBar1.Maximum)
|
|
If Me.BindingSource1.Position >= 0 Then Me.VScrollBar1.Value = Me.BindingSource1.Position
|
|
If Me.NoView Then
|
|
Me.NoView = False
|
|
Else
|
|
Me.GeTviewData(Me.BindingNavigatorPositionItem.Text - 1, True)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub VScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar1.Scroll
|
|
Debug.Print("Scroll Old:" & e.OldValue & "/ New :" & e.NewValue & "/ Current : " & Me.VScrollBar1.Value)
|
|
Debug.Print("스크롤바값 범위값 " & Me.VScrollBar1.Minimum & "/" & Me.VScrollBar1.Maximum)
|
|
If e.NewValue > 0 Then
|
|
Me.BindingSource1.Position = e.NewValue
|
|
Else
|
|
Debug.Print("스크롤바value값이 0보다 작습니다. 소스의 위치를 0으로 설정합니다")
|
|
Me.BindingSource1.Position = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
Dim selitem As New ArrayList
|
|
|
|
Tobj = Nothing
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
If Me.AllLabels(i).ctl.Visible AndAlso Me.AllLabels(i).ctl.MyText <> "" AndAlso _
|
|
((e.X >= Me.AllLabels(i).ctl.Left) And e.X <= (Me.AllLabels(i).ctl.Left + Me.AllLabels(i).ctl.GetSize.Width)) _
|
|
AndAlso ((e.Y >= Me.AllLabels(i).ctl.Top) AndAlso (e.Y <= (Me.AllLabels(i).ctl.Top + Me.AllLabels(i).ctl.GetSize.Height))) Then
|
|
Tobj = Me.AllLabels(i).ctl
|
|
selitem.Add(Me.AllLabels(i).ctl)
|
|
'Exit For
|
|
End If
|
|
Next
|
|
|
|
If Tobj Is Nothing Then Return '//선택된게 없으면 날린다
|
|
|
|
'If Me.chk_multisel.Checked Then '//다중목록에서 선택시가 체크되어있으면 목록을 표시해준다.
|
|
If selitem.Count > 1 Then
|
|
Dim A As New selitem
|
|
For si As Short = 1 To selitem.Count
|
|
A.ListBox1.Items.Add(CType(selitem.Item(si - 1), MyControlOLEDBv2.MyLabel).설명)
|
|
Next
|
|
If A.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
|
Tobj = selitem.Item(A.ListBox1.SelectedIndex)
|
|
Else '//캔슬시에는 첫번째 아템으로 한다.
|
|
Tobj = selitem.Item(0)
|
|
End If
|
|
End If
|
|
'End If
|
|
|
|
Dim Exist As Boolean = False '//선택개체에 존재여부
|
|
If SelCon Is Nothing Then
|
|
SelCon.Add(Tobj)
|
|
Else
|
|
If e.Button = Windows.Forms.MouseButtons.Right Then
|
|
For Each obj As MyControlOLEDBv2.MyLabel In SelCon
|
|
If obj.Name = Tobj.Name Then '//삭제된다.
|
|
obj.MyForeColor = Drawing.Color.Black
|
|
SelCon.Remove(obj)
|
|
Exist = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Exist = False Then
|
|
SelCon.Add(Tobj)
|
|
Tobj.MyForeColor = Drawing.Color.Tomato
|
|
End If
|
|
ElseIf e.Button = Windows.Forms.MouseButtons.Left Then '왼쪽클리이면 지우고 다시 셋팅
|
|
For Each SC As MyControlOLEDBv2.MyLabel In SelCon
|
|
SC.MyForeColor = Drawing.Color.Black
|
|
Next
|
|
SelCon.Clear()
|
|
SelCon.Add(Tobj)
|
|
Tobj.MyForeColor = Drawing.Color.DodgerBlue
|
|
|
|
If My.Computer.Keyboard.CtrlKeyDown Then '//컨트롤이 눌러졋으면 해당 그룹을 전부 찾는다.
|
|
'MsgBox(Tobj.Name)
|
|
SelCon.Clear()
|
|
For z As Short = 0 To Me.AllLabels.GetUpperBound(0)
|
|
If Me.AllLabels(z).ctl.DIV = Tobj.DIV And Me.AllLabels(z).ctl.TextValue.Trim <> "" Then
|
|
Me.AllLabels(z).ctl.MyForeColor = Drawing.Color.Blue
|
|
SelCon.Add(Me.AllLabels(z).ctl)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
Else
|
|
Me.Button1.PerformClick()
|
|
End If
|
|
End If
|
|
'onlyOne = sender
|
|
'CType(sender, MyControlOLEDBv2.MyLabel).
|
|
Me.cmb_controls.Text = Tobj.설명
|
|
ViewProperty(Tobj)
|
|
|
|
'For Each A As MyControlOLEDBv2.MyLabel In SelCon
|
|
' A.MyForeColor = Color.DodgerBlue
|
|
' Next
|
|
|
|
Me.tb_left.Focus()
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub PictureBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDoubleClick
|
|
Dim Tobj As MyControlOLEDBv2.MyLabel
|
|
Tobj = Nothing
|
|
|
|
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
|
|
If Me.AllLabels(i).ctl.Visible AndAlso Me.AllLabels(i).ctl.MyText <> "" AndAlso _
|
|
((e.X >= Me.AllLabels(i).ctl.Left) And e.X <= (Me.AllLabels(i).ctl.Left + Me.AllLabels(i).ctl.GetSize.Width)) _
|
|
AndAlso ((e.Y >= Me.AllLabels(i).ctl.Top) AndAlso (e.Y <= (Me.AllLabels(i).ctl.Top + Me.AllLabels(i).ctl.GetSize.Height))) Then
|
|
Tobj = Me.AllLabels(i).ctl
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Tobj Is Nothing Then Return '//선택된게 없으면 날린다
|
|
|
|
Dim Msg As New System.Text.StringBuilder("변경할 값을 입력하세요")
|
|
Msg.AppendLine("줄바꿈을하려면 \n 을 입력하세요")
|
|
Msg.AppendLine("예) 세로로 12를 출력하려면 1\n2 을 입력하세요")
|
|
Msg.AppendLine()
|
|
Msg.AppendLine("변경한 값은 현재페이지에만 적용됩니다")
|
|
|
|
|
|
Dim Val As String = InputBox(Msg.ToString, "변경", Tobj.MyText)
|
|
If Val = "" Then Return
|
|
Val = Val.Replace("\n", vbCrLf)
|
|
Tobj.MyText = Val
|
|
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub cmb_controls_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_controls.SelectionChangeCommitted
|
|
For Each A As MyControlOLEDBv2.MyLabel In Me.SelCon
|
|
A.MyForeColor = Drawing.Color.Black
|
|
Next
|
|
SelCon.Clear()
|
|
SelCon.Add(AllLabels(Me.cmb_controls.SelectedIndex).ctl)
|
|
AllLabels(Me.cmb_controls.SelectedIndex).ctl.MyForeColor = Drawing.Color.DodgerBlue
|
|
ViewProperty(AllLabels(Me.cmb_controls.SelectedIndex).ctl)
|
|
Me.preview_window()
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub 문자패턴연습(ByVal srcstr As String, ByVal pname As String, ByVal log As String, ByVal S라벨() As MyControlOLEDBv2.MyLabel)
|
|
Dim Wlen As Short = srcstr.Length : If Wlen <= 0 Then Return '//없는 글귀가 왓을때 턴해버린다.
|
|
Dim SepPos As Short = srcstr.IndexOf(";")
|
|
Dim DR() As DataRow
|
|
Dim CTLPOS() As String
|
|
Dim CTLFONT() As String
|
|
Dim CTLVISIBLE As Boolean
|
|
|
|
DR = DtPattern.Select("NAME = '" & pname & "DESC'")
|
|
If DR.GetUpperBound(0) = 0 Then '//길이패턴이 있으면
|
|
AddLog(Auto_Log, "문자패턴 찾기완료 : 길이=" & Wlen & " 구분자위치=" & SepPos & " 미들네임=" & pname, log)
|
|
For Each C As MyControlOLEDBv2.MyLabel In S라벨
|
|
'Try
|
|
DR = DtPattern.Select("NAME = '" & pname & C.Name & "POS'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
CTLPOS = DR(0)(1).ToString.Split(",")
|
|
C.Location = New Point(CTLPOS(0), CTLPOS(1))
|
|
C.Size = New Size(CTLPOS(2), CTLPOS(3))
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = '" & pname & C.Name & "FONT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
CTLFONT = DR(0)(1).ToString.Split(",")
|
|
C.MyFont = New Font(CTLFONT(0), CTLFONT(1), IIf(CTLFONT(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
C.장평 = CTLFONT(5)
|
|
C.장높이 = CTLFONT(6)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = '" & pname & C.Name & "VISIBLE'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
CTLVISIBLE = DR(0)(1).ToString
|
|
C.Visible = CType(CTLVISIBLE, Boolean)
|
|
End If
|
|
|
|
DR = DtPattern.Select("NAME = '" & pname & C.Name & "SPACE'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
C.공백 = DR(0)(1).ToString
|
|
End If
|
|
|
|
'//반복정보확인 Arinini.Write(Pname, TOBJ.Name & "repeat", TOBJ.Repeat & "," & TOBJ.RepeatX & "," & TOBJ.RepeatY) '//반복출력정보저장
|
|
AddLog(Auto_Log, "반복문자셋트 : " & pname & C.Name & "REPEAT" & " 를 검색합니다")
|
|
DR = DtPattern.Select("NAME = '" & pname & C.Name & "REPEAT'")
|
|
If DR.GetUpperBound(0) = 0 Then
|
|
AddLog(Auto_Log, "해당반복문자를 찾았습니다")
|
|
CTLFONT = DR(0)(1).ToString.Split(",")
|
|
AddLog(Auto_Log, "해당반복문자를 콤마로 쪼개어서 CTLFONT 배열에 저장하였습니다.")
|
|
C.Repeat = CTLFONT(0)
|
|
AddLog(Auto_Log, "해당반복문자중 0번째위치값을 적용")
|
|
C.RepeatX = CTLFONT(1)
|
|
AddLog(Auto_Log, "해당반복문자중 1번째위치값을 적용")
|
|
C.RepeatY = CTLFONT(2)
|
|
AddLog(Auto_Log, "해당반복문자중 2번째위치값을 적용")
|
|
'C.MyFont = New Font(CTLFONT(0), CTLFONT(1), IIf(CTLFONT(3).ToUpper = "TRUE", FontStyle.Bold, FontStyle.Regular), GraphicsUnit.Point)
|
|
' C.장평 = CTLFONT(5)
|
|
' C.장높이 = CTLFONT(6)
|
|
Else
|
|
AddLog(Auto_Log, "해당반복문자를 찾지못했습니다.")
|
|
End If
|
|
|
|
C.Tag = "C"
|
|
'Catch ex As Exception
|
|
' AddLog(Auto_Log, "문자패턴오류 길이=" & Wlen & " Message=" & ex.Message.ToString, log)
|
|
'End Try
|
|
Next
|
|
Else
|
|
AddLog(Auto_Log, "문자패턴불일치 길이=" & Wlen & " 문자열=" & srcstr, log)
|
|
Me.LOAD_STYLE(S라벨(0).DIV)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cmb_style_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_style.SelectionChangeCommitted
|
|
'//스타일을 직접 선택햇을때 기본idx값을 0 으로한다.
|
|
' MsgBox("스타일직접선택")
|
|
FirstIdx = 0
|
|
End Sub
|
|
|
|
|
|
Private Sub tb_ntype_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_ntype.MouseEnter
|
|
Me.tb_ntype.Focus()
|
|
Me.tb_ntype.SelectAll()
|
|
End Sub
|
|
|
|
Private Sub ToolStripTextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_ntype.KeyUp
|
|
If e.KeyCode = Keys.Enter Then
|
|
If Me.cmb_sep.SelectedIndex = 1 Then
|
|
NOTICE("분리상태에서는 번호지정이 불가능합니다", Drawing.Color.Red, Me.lb_msg)
|
|
Else
|
|
'번호형식지정(Me.tb_ntype.Text)
|
|
End If
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
|
|
If MsgBox("현재 스타일(기본)을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "스타일저장") = MsgBoxResult.Yes Then
|
|
If DrStyle.ISXML = False Then
|
|
SAVE_STYLE()
|
|
Else
|
|
SAVE_STYLEXML()
|
|
End If
|
|
|
|
Else
|
|
NOTICE("스타일(기존)저장이 취소되었습니다", Me.lb_msg)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub BindingNavigatorPositionItem_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles BindingNavigatorPositionItem.MouseEnter
|
|
Me.BindingNavigatorPositionItem.Focus()
|
|
Me.BindingNavigatorPositionItem.SelectAll()
|
|
|
|
End Sub
|
|
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
|
|
'Me.Text = e.X & "/" & e.Y
|
|
|
|
If My.Computer.Keyboard.CtrlKeyDown = True AndAlso My.Computer.Keyboard.AltKeyDown = True Then
|
|
'//선택된 컨트롤을 마우스위치로 이동한다.
|
|
If SelCon Is Nothing OrElse SelCon.Count < 1 Then Exit Sub
|
|
For Each sender1 As MyControlOLEDBv2.MyLabel In SelCon
|
|
sender1.Left = e.X - (sender1.Width / 2)
|
|
sender1.Top = e.Y + (sender1.Height / 2)
|
|
Next
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton2_ButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_print.ButtonClick
|
|
Me.Print()
|
|
End Sub
|
|
|
|
Private Sub bt_prnpreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_prnpreview.Click
|
|
Me.Print_Preview()
|
|
End Sub
|
|
|
|
Private Sub cm_styleedit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cm_styleedit.Click
|
|
StyleEdit.ListIndex = Me.cmb_style.SelectedIndex
|
|
StyleEdit.Path = Me.StyleDir
|
|
StyleEdit.Show()
|
|
End Sub
|
|
|
|
Private Sub Refresh_Drawlist()
|
|
'//;라인하고 박스를 읽어서 리스트박스에
|
|
Me.ListBox1.Items.Clear()
|
|
Dim I As Short = 0
|
|
For Each Rect As S_Line In Draw_Line
|
|
Me.ListBox1.Items.Add("선(" & Rect.X & "," & Rect.Y & "," & Rect.X2 & "," & Rect.Y2 & "):" & I)
|
|
I += 1
|
|
Next
|
|
I = 0
|
|
For Each Rect As S_Box In Draw_Box
|
|
Me.ListBox1.Items.Add("박스(" & Rect.X & "," & Rect.X & "," & Rect.Width & "," & Rect.Height & "):" & I)
|
|
I += 1
|
|
Next
|
|
I = 0
|
|
For Each Rect As S_Circle In Draw_Circle
|
|
Me.ListBox1.Items.Add("박스(" & Rect.X & "," & Rect.X & "," & Rect.Width & "," & Rect.Height & "):" & I)
|
|
I += 1
|
|
Next
|
|
|
|
preview_window()
|
|
End Sub
|
|
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
|
|
'//선추가
|
|
Dim NewLine As New S_Line
|
|
NewLine.PenColor = Drawing.Color.Black
|
|
NewLine.PenWidth = 3
|
|
NewLine.X = Draw_Line.Count * 10
|
|
NewLine.Y = 10
|
|
NewLine.X2 = 100 + Draw_Line.Count * 10
|
|
NewLine.Y2 = NewLine.X2
|
|
|
|
Draw_Line.Add(NewLine)
|
|
Refresh_Drawlist()
|
|
|
|
End Sub
|
|
|
|
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
|
|
'//선추가
|
|
Dim NewLine As New S_Box
|
|
NewLine.PenColor = Drawing.Color.Black
|
|
NewLine.PenWidth = 3
|
|
NewLine.X = Draw_Box.Count * 10
|
|
NewLine.Y = Draw_Box.Count * 10
|
|
NewLine.Width = 100 + Draw_Box.Count * 10
|
|
NewLine.Height = NewLine.Width
|
|
Draw_Box.Add(NewLine)
|
|
Refresh_Drawlist()
|
|
End Sub
|
|
|
|
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
|
|
If Me.ListBox1.SelectedIndex < 0 Then Return
|
|
Select Case Me.ListBox1.Text.Substring(0, 1)
|
|
Case "선"
|
|
Dim Line As S_Line = Draw_Line(Me.ListBox1.Text.Split(":")(1))
|
|
Me.bt_pencolor.BackColor = Line.PenColor
|
|
Me.tb_pensize.Text = Line.PenWidth
|
|
Me.tb_dx.Text = Line.X
|
|
Me.tb_dy.Text = Line.Y
|
|
Me.tb_dw.Text = Line.X2
|
|
Me.tb_dh.Text = Line.Y2
|
|
Case "박"
|
|
Dim Line As S_Box = Draw_Box(Me.ListBox1.Text.Split(":")(1))
|
|
Me.bt_pencolor.BackColor = Line.PenColor
|
|
Me.tb_pensize.Text = Line.PenWidth
|
|
Me.tb_dx.Text = Line.X
|
|
Me.tb_dy.Text = Line.Y
|
|
Me.tb_dw.Text = Line.Width
|
|
Me.tb_dh.Text = Line.Height
|
|
Case "원"
|
|
Dim Line As S_Circle = Draw_Circle(Me.ListBox1.Text.Split(":")(1))
|
|
Me.bt_pencolor.BackColor = Line.PenColor
|
|
Me.tb_pensize.Text = Line.PenWidth
|
|
Me.tb_dx.Text = Line.X
|
|
Me.tb_dy.Text = Line.Y
|
|
Me.tb_dw.Text = Line.Width
|
|
Me.tb_dh.Text = Line.Height
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub tb_pensize_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_pensize.KeyDown, tb_dx.KeyDown, tb_dy.KeyDown, tb_dw.KeyDown, tb_dh.KeyDown
|
|
If Me.ListBox1.SelectedIndex < 0 Then Return
|
|
Dim SI As Short = Me.ListBox1.SelectedIndex
|
|
If e.KeyCode = Keys.Enter Then
|
|
'//새로만들어서 저장한다.
|
|
Set_NewDraw()
|
|
Me.Refresh_Drawlist()
|
|
Me.ListBox1.SelectedIndex = SI
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Set_NewDraw()
|
|
Select Case Me.ListBox1.Text.Substring(0, 1)
|
|
Case "선"
|
|
Dim Line As New S_Line
|
|
Line.PenColor = Me.bt_pencolor.BackColor
|
|
Line.PenWidth = Me.tb_pensize.Text
|
|
Line.X = Me.tb_dx.Text
|
|
Line.Y = Me.tb_dy.Text
|
|
Line.X2 = Me.tb_dw.Text
|
|
Line.Y2 = Me.tb_dh.Text
|
|
Draw_Line(Me.ListBox1.Text.Split(":")(1)) = Line
|
|
'MsgBox("선재구성")
|
|
Case "박"
|
|
Dim Line As New S_Box
|
|
Line.PenColor = Me.bt_pencolor.BackColor
|
|
Line.PenWidth = Me.tb_pensize.Text
|
|
Line.X = Me.tb_dx.Text
|
|
Line.Y = Me.tb_dy.Text
|
|
Line.Width = Me.tb_dw.Text
|
|
Line.Height = Me.tb_dh.Text
|
|
Draw_Box(Me.ListBox1.Text.Split(":")(1)) = Line
|
|
'MsgBox("박스재구성")
|
|
Case "원"
|
|
Dim Line As New S_Circle
|
|
Line.PenColor = Me.bt_pencolor.BackColor
|
|
Line.PenWidth = Me.tb_pensize.Text
|
|
Line.X = Me.tb_dx.Text
|
|
Line.Y = Me.tb_dy.Text
|
|
Line.Width = Me.tb_dw.Text
|
|
Line.Height = Me.tb_dh.Text
|
|
Draw_Circle(Me.ListBox1.Text.Split(":")(1)) = Line
|
|
'MsgBox("박스재구성")
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub bt_pencolor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_pencolor.Click
|
|
Dim CD As New ColorDialog
|
|
CD.Color = Me.bt_pencolor.BackColor
|
|
If CD.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
|
|
Me.bt_pencolor.BackColor = CD.Color
|
|
Set_NewDraw()
|
|
End Sub
|
|
|
|
Private Sub SaveDrawData(ByVal read As Boolean) '//현재 화면구성을 가로/세로 결정합니다.
|
|
'//ini파일에저장한다. 섹션명은 pagetype0 ,pagetyp1 0은 세로 1은 가로다
|
|
Dim ini As New MyINI2(DrStyle.FILE)
|
|
Dim ini2 As New MyINI2(CStr(DrStyle.FILE).ToLower.Replace("ini", "shape"))
|
|
|
|
Dim bname As String = "DrawBox"
|
|
Dim lname As String = "DrawLine"
|
|
Dim cname As String = "DrawCircle"
|
|
Dim bcnt, lcnt, ccnt As Short
|
|
|
|
If read = False Then
|
|
NWork_Form("드로잉개체를 저장합니다.", 0)
|
|
ini.Write(bname, "Count", Draw_Box.Count)
|
|
ini2.Write(bname, "saved", "1")
|
|
For i As Short = 1 To Draw_Box.Count '//모두돌아서 저장한다.
|
|
Dim L As S_Box = Draw_Box(i - 1)
|
|
ini.Write(bname, "box" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini.Write(bname, "box" & i & "pensize", L.PenWidth)
|
|
ini.Write(bname, "box" & i & "x", L.X)
|
|
ini.Write(bname, "box" & i & "y", L.Y)
|
|
ini.Write(bname, "box" & i & "x2", L.Width)
|
|
ini.Write(bname, "box" & i & "y2", L.Height)
|
|
|
|
ini2.Write(bname, "box" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini2.Write(bname, "box" & i & "pensize", L.PenWidth)
|
|
ini2.Write(bname, "box" & i & "x", L.X)
|
|
ini2.Write(bname, "box" & i & "y", L.Y)
|
|
ini2.Write(bname, "box" & i & "x2", L.Width)
|
|
ini2.Write(bname, "box" & i & "y2", L.Height)
|
|
Next
|
|
ini.Write(cname, "Count", Draw_Circle.Count)
|
|
ini2.Write(cname, "saved", "1")
|
|
For i As Short = 1 To Draw_Circle.Count '//모두돌아서 저장한다.
|
|
Dim L As S_Circle = Draw_Circle(i - 1)
|
|
ini.Write(cname, "Circle" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini.Write(cname, "Circle" & i & "pensize", L.PenWidth)
|
|
ini.Write(cname, "Circle" & i & "x", L.X)
|
|
ini.Write(cname, "Circle" & i & "y", L.Y)
|
|
ini.Write(cname, "Circle" & i & "x2", L.Width)
|
|
ini.Write(cname, "Circle" & i & "y2", L.Height)
|
|
|
|
ini2.Write(cname, "Circle" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini2.Write(cname, "Circle" & i & "pensize", L.PenWidth)
|
|
ini2.Write(cname, "Circle" & i & "x", L.X)
|
|
ini2.Write(cname, "Circle" & i & "y", L.Y)
|
|
ini2.Write(cname, "Circle" & i & "x2", L.Width)
|
|
ini2.Write(cname, "Circle" & i & "y2", L.Height)
|
|
Next
|
|
ini.Write(lname, "Count", Draw_Line.Count)
|
|
ini2.Write(lname, "saved", "1")
|
|
For i As Short = 1 To Draw_Line.Count '//모두돌아서 저장한다.
|
|
Dim L As S_Line = Draw_Line(i - 1)
|
|
ini.Write(lname, "line" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini.Write(lname, "line" & i & "pensize", L.PenWidth)
|
|
ini.Write(lname, "line" & i & "x", L.X)
|
|
ini.Write(lname, "line" & i & "y", L.Y)
|
|
ini.Write(lname, "line" & i & "x2", L.X2)
|
|
ini.Write(lname, "line" & i & "y2", L.Y2)
|
|
|
|
ini2.Write(lname, "line" & i & "pencolor", L.PenColor.ToArgb)
|
|
ini2.Write(lname, "line" & i & "pensize", L.PenWidth)
|
|
ini2.Write(lname, "line" & i & "x", L.X)
|
|
ini2.Write(lname, "line" & i & "y", L.Y)
|
|
ini2.Write(lname, "line" & i & "x2", L.X2)
|
|
ini2.Write(lname, "line" & i & "y2", L.Y2)
|
|
Next
|
|
Else '//여기는 읽는 부분
|
|
NWork_Form("드로잉개체를 저장합니다.", 0)
|
|
Draw_Box.Clear()
|
|
Draw_Line.Clear()
|
|
|
|
bcnt = ini.Read(bname, "Count", 0)
|
|
For i As Short = 1 To bcnt '//모두돌아서 저장한다.
|
|
Dim L As New S_Box
|
|
L.PenColor = Drawing.Color.FromArgb(ini.Read(bname, "box" & i & "pencolor", 0))
|
|
L.PenWidth = ini.Read(bname, "box" & i & "pensize", 3)
|
|
L.X = ini.Read(bname, "box" & i & "x", 0)
|
|
L.Y = ini.Read(bname, "box" & i & "y", 0)
|
|
L.Width = ini.Read(bname, "box" & i & "x2", 10)
|
|
L.Height = ini.Read(bname, "box" & i & "y2", 10)
|
|
Draw_Box.Add(L)
|
|
Next
|
|
|
|
ccnt = ini.Read(cname, "Count", 0)
|
|
For i As Short = 1 To bcnt '//모두돌아서 저장한다.
|
|
Dim L As New S_Circle
|
|
L.PenColor = Drawing.Color.FromArgb(ini.Read(cname, "Circle" & i & "pencolor", 0))
|
|
L.PenWidth = ini.Read(cname, "Circle" & i & "pensize", 3)
|
|
L.X = ini.Read(cname, "Circle" & i & "x", 0)
|
|
L.Y = ini.Read(cname, "Circle" & i & "y", 0)
|
|
L.Width = ini.Read(cname, "Circle" & i & "x2", 10)
|
|
L.Height = ini.Read(cname, "Circle" & i & "y2", 10)
|
|
Draw_Circle.Add(L)
|
|
Next
|
|
|
|
lcnt = ini.Read(lname, "Count", 0)
|
|
For i As Short = 1 To lcnt '//모두돌아서 저장한다.
|
|
Dim L As New S_Line
|
|
L.PenColor = Drawing.Color.FromArgb(ini.Read(lname, "line" & i & "pencolor", 0))
|
|
L.PenWidth = ini.Read(lname, "line" & i & "pensize", 3)
|
|
L.X = ini.Read(lname, "line" & i & "x", 0)
|
|
L.Y = ini.Read(lname, "line" & i & "y", 0)
|
|
L.X2 = ini.Read(lname, "line" & i & "x2", 10)
|
|
L.Y2 = ini.Read(lname, "line" & i & "y2", 10)
|
|
Draw_Line.Add(L)
|
|
Next
|
|
|
|
Me.Refresh_Drawlist()
|
|
End If
|
|
Form_Work.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
|
|
Try
|
|
|
|
'//삭제
|
|
Select Case Me.ListBox1.Text.Substring(0, 1)
|
|
Case "선"
|
|
Draw_Line.RemoveAt(Me.ListBox1.Text.Split(":")(1))
|
|
Case "박"
|
|
Draw_Box.RemoveAt(Me.ListBox1.Text.Split(":")(1))
|
|
End Select
|
|
Me.Refresh_Drawlist()
|
|
|
|
Catch ex As Exception
|
|
MessageBox.Show("선택 후 삭제가 가능합니다.", "확인", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
ListBox1.Focus()
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
|
|
If Me.cmb_style.Items.Count < 1 Then
|
|
Me.cm_styleedit.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tb_rep_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_rep.KeyUp
|
|
If e.KeyCode = Keys.Enter Then
|
|
If Me.tb_rep.Text = "" OrElse Me.tb_rep Is vbNullString Then Me.tb_rep.Text = 0
|
|
For Each A As Control In SelCon
|
|
CType(A, MyLabel).Repeat = Me.tb_rep.Text
|
|
Next
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tb_repx_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_repx.KeyUp
|
|
If e.KeyCode = Keys.Enter Then
|
|
If Me.tb_rep.Text = "" OrElse Me.tb_rep Is vbNullString Then Me.tb_rep.Text = 0
|
|
For Each A As Control In SelCon
|
|
CType(A, MyLabel).RepeatX = Me.tb_repx.Text
|
|
Next
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tb_repy_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_repy.KeyUp
|
|
If e.KeyCode = Keys.Enter Then
|
|
If Me.tb_rep.Text = "" OrElse Me.tb_rep Is vbNullString Then Me.tb_rep.Text = 0
|
|
For Each A As Control In SelCon
|
|
CType(A, MyLabel).RepeatY = Me.tb_repy.Text
|
|
Next
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub tb_pagerepeat_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_pagerepeat.KeyDown, tb_secX.KeyDown, tb_secY.KeyDown
|
|
If e.KeyCode = Keys.Enter Then
|
|
Me.preview_window()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub bt_danja_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
If MsgBox("패턴을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
|
NOTICE("패턴 저장이 취소되었습니다", Me.lb_msg)
|
|
Return
|
|
End If
|
|
' SAVE_PATTERN(Me.s고압단자, Me.HA단자.Length, "\s고압단자.TXT") '//선로명의 패턴을 저장합니다.
|
|
|
|
End Sub
|
|
|
|
Private Sub mbt_savepattersta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_savepattersta.Click
|
|
If MsgBox("패턴을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
|
NOTICE("패턴 저장이 취소되었습니다", Me.lb_msg)
|
|
Return
|
|
End If
|
|
|
|
NWork_Form("패턴을 저장하고 있습니다", 20)
|
|
'//고압
|
|
SAVE_PATTERNII(Me.STB1, Me.STB1S, "\Stb1.TXT", Me.BlineNum1, False) : Form_Work.pval += 1
|
|
SAVE_PATTERNII(Me.STB2, Me.STB2S, "\Stb2.TXT", Me.BlineNum1, False) : Form_Work.pval += 1
|
|
SAVE_PATTERNII(Me.STB3, Me.STB3S, "\Stb3.TXT", Me.BlineNum1, False) : Form_Work.pval += 1
|
|
SAVE_PATTERNII(Me.STB4, Me.STB4S, "\Stb4.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STB5, Me.STB5S, "\Stb5.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STB6, Me.STB6S, "\Stb6.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
'//저압1
|
|
SAVE_PATTERNII(Me.STC1, Me.STC1S, "\stc1.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC2, Me.STC2S, "\stc2.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC3, Me.STC3S, "\stc3.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC4, Me.STC4S, "\stc4.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC5, Me.STC5S, "\stc5.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC6, Me.STC6S, "\stc6.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STC7, Me.STC7S, "\stc7.TXT", Me.BlineNum2, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
'//저압2
|
|
SAVE_PATTERNII(Me.STD1, Me.STD1S, "\std1.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD2, Me.STD2S, "\std2.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD3, Me.STD3S, "\std3.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD4, Me.STD4S, "\std4.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD5, Me.STD5S, "\std5.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD6, Me.STD6S, "\std6.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.STD7, Me.STD7S, "\std7.TXT", Me.BlineNum3) '//선로명의 패턴을 저장합니다.()
|
|
Form_Work.Close()
|
|
End Sub
|
|
|
|
Private Sub bt_patternha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_patternha.Click
|
|
If MsgBox("패턴을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
|
NOTICE("패턴 저장이 취소되었습니다", Me.lb_msg)
|
|
Return
|
|
End If
|
|
|
|
NWork_Form("패턴을 저장하고 있습니다", 6)
|
|
SAVE_PATTERNII(Me.SB1, Me.SB1S, "\SB1.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SB2, Me.SB2S, "\SB2.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SB3, Me.SB3S, "\SB3.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SB4, Me.SB4S, "\SB4.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SB5, Me.SB5S, "\SB5.TXT", Me.BlineNum1, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SB6, Me.SB6S, "\SB6.TXT") '//선로명의 패턴을 저장합니다.()
|
|
Form_Work.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub bt_patterkaphe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_patterkaphe.Click
|
|
If MsgBox("패턴을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
|
NOTICE("패턴 저장이 취소되었습니다", Me.lb_msg)
|
|
Return
|
|
End If
|
|
|
|
NWork_Form("패턴을 저장하고 있습니다", 7)
|
|
SAVE_PATTERNII(Me.SC1, Me.SC1S, "\SC1.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC2, Me.SC2S, "\Sc2.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC3, Me.SC3S, "\Sc3.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC4, Me.SC4S, "\Sc4.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC5, Me.SC5S, "\Sc5.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC6, Me.SC6S, "\Sc6.TXT", Me.BlineNum2, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SC7, Me.SC7S, "\Sc7.TXT", Me.BlineNum2) '//선로명의 패턴을 저장합니다.()
|
|
Form_Work.Close()
|
|
End Sub
|
|
|
|
Private Sub ToolStripMenuItem13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem13.Click
|
|
If MsgBox("패턴을 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
|
NOTICE("패턴 저장이 취소되었습니다", Me.lb_msg)
|
|
Return
|
|
End If
|
|
|
|
NWork_Form("패턴을 저장하고 있습니다", 7)
|
|
SAVE_PATTERNII(Me.SD1, Me.SD1S, "\SD1.TXT", Me.BlineNum3, False) '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD2, Me.SD2S, "\Sd2.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD3, Me.SD3S, "\Sd3.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD4, Me.SD4S, "\Sd4.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD5, Me.SD5S, "\Sd5.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD6, Me.SD6S, "\Sd6.TXT", Me.BlineNum3, False) : Form_Work.pval += 1 '//선로명의 패턴을 저장합니다.()
|
|
SAVE_PATTERNII(Me.SD7, Me.SD7S, "\Sd7.TXT", Me.BlineNum3) '//선로명의 패턴을 저장합니다.()
|
|
Form_Work.Close()
|
|
End Sub
|
|
|
|
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
|
|
Dim NewLine As New S_Circle
|
|
NewLine.PenColor = Drawing.Color.Black
|
|
NewLine.PenWidth = 3
|
|
NewLine.X = 100
|
|
NewLine.Y = 100
|
|
NewLine.Width = 200
|
|
NewLine.Height = 200
|
|
Draw_Circle.Add(NewLine)
|
|
Refresh_Drawlist()
|
|
End Sub
|
|
End Class
|
|
|
|
|
|
|