1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
Public Class ShiftOSWindow
Public Property RolledUp As Boolean = False
Public Property Resizable As Boolean = True
Public Shadows Property MinimumSize As Size = New Size(0, 0)
Private _heightBeforeRollup As Integer
' Window title changed
Private Sub Me_TextChanged(sender As Object, e As EventArgs) Handles MyBase.TextChanged
lbtitletext.Text = Text
End Sub
#Region "Close Button"
Private Sub closebutton_Click(sender As Object, e As EventArgs) Handles closebutton.Click
Me.Close()
End Sub
Private Sub closebutton_MouseEnter(sender As Object, e As EventArgs) Handles closebutton.MouseEnter, closebutton.MouseUp
closebutton.BackgroundImage = Skins.closebtnhover
End Sub
Private Sub closebutton_MouseLeave(sender As Object, e As EventArgs) Handles closebutton.MouseLeave
closebutton.BackgroundImage = Skins.closebtn
End Sub
Private Sub closebutton_MouseDown(sender As Object, e As EventArgs) Handles closebutton.MouseDown
closebutton.BackgroundImage = Skins.closebtnclick
End Sub
#End Region
#Region "Minimize Button"
Private Sub minimizebutton_Click(sender As Object, e As EventArgs) Handles minimizebutton.Click
ShiftOSDesktop.minimizeprogram(Me, False)
End Sub
#End Region
#Region "Rollup Button"
Private Sub rollupbutton_Click(sender As Object, e As EventArgs) Handles rollupbutton.Click
rollupanddown()
End Sub
Private Sub rollupbutton_MouseEnter(sender As Object, e As EventArgs) Handles rollupbutton.MouseEnter, rollupbutton.MouseUp
rollupbutton.BackgroundImage = Skins.rollbtnhover
End Sub
Private Sub rollupbutton_MouseLeave(sender As Object, e As EventArgs) Handles rollupbutton.MouseLeave
rollupbutton.BackgroundImage = Skins.rollbtn
End Sub
Private Sub rollupbutton_MouseDown(sender As Object, e As EventArgs) Handles rollupbutton.MouseDown
rollupbutton.BackgroundImage = Skins.rollbtnclick
End Sub
Private Sub rollupanddown()
If RolledUp Then
pgleft.Show()
pgbottom.Show()
pgright.Show()
Me.Height = _heightBeforeRollup
Me.MinimumSize = New Size(MinimumSize.Width, MinimumSize.Height)
Else
Me.MinimumSize = New Size(0, 0)
pgleft.Hide()
pgbottom.Hide()
pgright.Hide()
_heightBeforeRollup = Me.Height
Me.Height = Me.titlebar.Height
End If
End Sub
#End Region
#Region "Resizing"
Private Sub pullside_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullside.Tick
Me.Width = Cursor.Position.X - Me.Location.X
End Sub
Private Sub pullbottom_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullbottom.Tick
Me.Height = Cursor.Position.Y - Me.Location.Y
End Sub
Private Sub pullbs_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pullbs.Tick
Me.Width = Cursor.Position.X - Me.Location.X
Me.Height = Cursor.Position.Y - Me.Location.Y
End Sub
'delete this for non-resizable windows
Private Sub Rightpull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseDown
If Resizable Then
If ShiftOSDesktop.boughtresizablewindows = True Then
pullside.Start()
End If
End If
End Sub
Private Sub RightCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeWE
End If
End Sub
Private Sub bottomCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottom.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeNS
End If
End Sub
Private Sub CornerCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottomrcorner.MouseEnter
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.SizeNWSE
End If
End Sub
Private Sub SizeCursoroff_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseLeave, pgbottom.MouseLeave, pgbottomrcorner.MouseLeave
If ShiftOSDesktop.boughtresizablewindows = True Then
Cursor = Cursors.Default
End If
End Sub
Private Sub rightpull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseUp
If ShiftOSDesktop.boughtresizablewindows = True Then
pullside.Stop()
End If
End Sub
Private Sub bottompull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseDown
If ShiftOSDesktop.boughtresizablewindows = True Then
pullbottom.Start()
End If
End Sub
Private Sub buttompull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseUp
If ShiftOSDesktop.boughtresizablewindows = True Then
pullbottom.Stop()
End If
End Sub
Private Sub bspull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseDown
If ShiftOSDesktop.boughtresizablewindows = True Then
pullbs.Start()
End If
End Sub
Private Sub bspull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseUp
If ShiftOSDesktop.boughtresizablewindows = True Then
pullbs.Stop()
End If
End Sub
Private Sub Me_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
If ShiftOSDesktop.boughtwindowborders = True Then
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop)
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop)
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop)
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
Else
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop)
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop)
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop)
Select Case Skins.titletextpos
Case "Left"
lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop)
Case "Centre"
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
End Select
lbtitletext.ForeColor = Skins.titletextcolour
End If
End Sub
#End Region
#Region "Moveable Windows"
Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles titlebar.MouseDown, lbtitletext.MouseDown, pnlicon.MouseDown, pgtoplcorner.MouseDown, pgtoprcorner.MouseDown
' Handle Draggable Windows
If ShiftOSDesktop.boughtdraggablewindows = True Then
If e.Button = MouseButtons.Left Then
titlebar.Capture = False
lbtitletext.Capture = False
pnlicon.Capture = False
pgtoplcorner.Capture = False
pgtoprcorner.Capture = False
Const WM_NCLBUTTONDOWN As Integer = &HA1S
Const HTCAPTION As Integer = 2
Dim msg As Message =
Message.Create(Me.Handle, WM_NCLBUTTONDOWN,
New IntPtr(HTCAPTION), IntPtr.Zero)
Me.DefWndProc(msg)
End If
ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User dragged " & Me.Name & " to " & Me.Location.ToString & Environment.NewLine
End If
End Sub
#End Region
End Class
|