initial commit
This commit is contained in:
29
ArinWarev1/Control/YkCtl.Designer.vb
generated
Normal file
29
ArinWarev1/Control/YkCtl.Designer.vb
generated
Normal file
@@ -0,0 +1,29 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class YkCtl
|
||||
Inherits System.Windows.Forms.UserControl
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
components = New System.ComponentModel.Container()
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
160
ArinWarev1/Control/YkCtl.vb
Normal file
160
ArinWarev1/Control/YkCtl.vb
Normal file
@@ -0,0 +1,160 @@
|
||||
Public Class YkCtl
|
||||
Structure SM
|
||||
Private vStyle As Drawing2D.HatchStyle
|
||||
Private vwidth As Single, vHeight As Single
|
||||
Private vFColor As Color
|
||||
Private vBColor As Color
|
||||
|
||||
Property Style() As Drawing2D.HatchStyle
|
||||
Get
|
||||
Return Me.vStyle
|
||||
End Get
|
||||
Set(ByVal value As Drawing2D.HatchStyle)
|
||||
Me.vStyle = value
|
||||
End Set
|
||||
End Property
|
||||
Property Width() As Single
|
||||
Get
|
||||
Return Me.vwidth
|
||||
End Get
|
||||
Set(ByVal value As Single)
|
||||
Me.vwidth = value
|
||||
End Set
|
||||
End Property
|
||||
Property Height() As Single
|
||||
Get
|
||||
Return Me.vHeight
|
||||
End Get
|
||||
Set(ByVal value As Single)
|
||||
Me.vHeight = value
|
||||
End Set
|
||||
End Property
|
||||
Property FColor() As Color
|
||||
Get
|
||||
Return Me.vFColor
|
||||
End Get
|
||||
Set(ByVal value As Color)
|
||||
Me.vFColor = value
|
||||
End Set
|
||||
End Property
|
||||
Property BColor() As Color
|
||||
Get
|
||||
Return Me.vBColor
|
||||
End Get
|
||||
Set(ByVal value As Color)
|
||||
Me.vBColor = value
|
||||
End Set
|
||||
End Property
|
||||
End Structure
|
||||
|
||||
Dim vMFilltype(0) As SM
|
||||
Dim vVertical As Boolean = True
|
||||
Dim vMaxWidth As Single = Me.Width '//총너비
|
||||
|
||||
Property MaxSize() As Single
|
||||
Get
|
||||
Return (vMaxWidth)
|
||||
End Get
|
||||
Set(ByVal value As Single)
|
||||
Me.vMaxWidth = value
|
||||
Me.Refresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Vertical() As Boolean '//그림이 세로형태?
|
||||
Get
|
||||
Return (vVertical)
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.vVertical = value
|
||||
Me.Refresh()
|
||||
' MsgBox(value)
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property M1FillType() As SM()
|
||||
Get
|
||||
Return (Me.vMFilltype)
|
||||
End Get
|
||||
Set(ByVal value As SM())
|
||||
Me.vMFilltype = value
|
||||
Me.Refresh()
|
||||
' MsgBox("sdf")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub UserControl1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
|
||||
If Me.vMFilltype Is Nothing OrElse Me.MaxSize <= 0 Then Return
|
||||
Dim G As Graphics = e.Graphics
|
||||
|
||||
Dim Rect As Rectangle
|
||||
Dim W As Single
|
||||
' If Me.MaxWidth <> 0 Then
|
||||
For i As Integer = 0 To Me.M1FillType.GetUpperBound(0) '//갯수만큼 돈다
|
||||
'//해당 사각형의 Rectangle 을 생성
|
||||
If i = 0 Then
|
||||
If Me.Vertical Then
|
||||
W = Me.Width / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(0, 5, W, Me.Height - 10)
|
||||
Else
|
||||
W = Me.Height / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(5, 0, Me.Width - 10, W)
|
||||
End If
|
||||
Else
|
||||
If Me.Vertical Then
|
||||
W = Me.Width / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(GetWidth(i), 5, W, Me.Height - 10)
|
||||
Else
|
||||
W = Me.Height / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(5, GetWidth(i), Me.Width - 10, W)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Try
|
||||
Dim B As New System.Drawing.Drawing2D.HatchBrush(Me.M1FillType(i).Style, Me.M1FillType(i).FColor, Me.M1FillType(i).BColor)
|
||||
G.FillRectangle(B, Rect)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
Next
|
||||
|
||||
For i As Integer = 0 To Me.M1FillType.GetUpperBound(0) '//갯수만큼 돈다
|
||||
If Vertical Then
|
||||
If i = 0 Then
|
||||
W = Me.Width / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(0, 5, W, Me.Height - 10)
|
||||
Else
|
||||
W = Me.Width / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(GetWidth(i), 5, W, Me.Height - 10)
|
||||
End If
|
||||
If i <> 0 Then ' AndAlso i <> Me.M1FillType.GetUpperBound(0) Then
|
||||
G.DrawLine(New Pen(Color.Black), Rect.X, 5, Rect.X, Me.Height - 5)
|
||||
End If
|
||||
Else
|
||||
If i = 0 Then
|
||||
W = Me.Height / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(5, 0, Me.Width - 10, W)
|
||||
Else
|
||||
W = Me.Height / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Rect = New Rectangle(5, GetWidth(i), Me.Width - 10, W)
|
||||
End If
|
||||
If i <> 0 Then 'AndAlso i <> Me.M1FillType.GetUpperBound(0) Then
|
||||
G.DrawLine(New Pen(Color.Black), 5, Rect.Y, Me.Width - 5, Rect.Y)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
G.DrawRectangle(New Pen(Color.Black), New Rectangle(0, 0, Me.Width - 2, Me.Height - 2))
|
||||
G.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Function GetWidth(ByVal idx As Integer) As Single
|
||||
Dim Retval As Single = 0
|
||||
For i As Integer = 0 To idx - 1
|
||||
|
||||
Retval += IIf(Me.Vertical = True, Me.Width, Me.Height) / Me.MaxSize * Me.M1FillType(i).Width
|
||||
Next
|
||||
Return Retval
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user