Imports ScreenCaptureLib
Public Class ToolBarForm
Dim rectangleFrm As RectangleForm
Private DeskHwnd, hdc As Integer
Private hdcMem As Integer
Private hBitmap As Integer
Private Sub UpOutButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpOutButton.Click
Me.rectangleFrm.Height += 1
Me.rectangleFrm.Top -= 1
End Sub
Private Sub DownOutButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownOutButton.Click
Me.rectangleFrm.Height += 1
End Sub
Private Sub LeftOutButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftOutButton.Click
Me.rectangleFrm.Width += 1
Me.rectangleFrm.Left -= 1
End Sub
Private Sub RightOutButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightOutButton.Click
Me.rectangleFrm.Width += 1
End Sub
Private Sub UpInButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpInButton.Click
If Me.rectangleFrm.MinimumSize.Height < Me.rectangleFrm.Height Then
Me.rectangleFrm.Top += 1
Me.rectangleFrm.Height -= 1
End If
End Sub
Private Sub LeftInButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftInButton.Click
If Me.rectangleFrm.MinimumSize.Width < Me.rectangleFrm.Width Then
Me.rectangleFrm.Width -= 1
Me.rectangleFrm.Left += 1
End If
End Sub
Private Sub RightInButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightInButton.Click
If Me.rectangleFrm.MinimumSize.Width < Me.rectangleFrm.Width Then
Me.rectangleFrm.Width -= 1
End If
End Sub
Private Sub DownInButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownInButton.Click
If Me.rectangleFrm.MinimumSize.Height < Me.rectangleFrm.Height Then
Me.rectangleFrm.Height -= 1
End If
End Sub
Private Sub CaptureRectangleTSB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CaptureRectangleTSB.Click
Dim imageRect As New Rectangle
imageRect = Me.rectangleFrm.rectanglePanel.RectangleToScreen(New Rectangle(6, 6, _
Me.rectangleFrm.rectanglePanel.Width - 12, Me.rectangleFrm.rectanglePanel.Height - 12))
Select Case My.Settings.PenWidth
Case 1
imageRect.X += 1
imageRect.Y += 1
imageRect.Width -= 1
imageRect.Height -= 1
Case 2
imageRect.X += 1
imageRect.Y += 1
imageRect.Width -= 2
imageRect.Height -= 2
Case 3
imageRect.X += 2
imageRect.Y += 2
imageRect.Width -= 3
imageRect.Height -= 3
End Select
Dim img As Image
Try
My.Forms.MenuForm.NotifyIcon1.Icon = My.Resources.Capture
img = ICapture.ScreenRectangle(imageRect)
My.Forms.MenuForm.SaveImage(img)
If My.Settings.PlaySound Then
My.Forms.MenuForm.Sound.Play()
End If
Catch ex As Exception
My.Forms.MenuForm.globalMouse.RemoveHook()
MessageBox.Show("The capture of the image failed!" & Environment.NewLine _
& "Restarting the application from the shortcut may fix the problem." _
& Environment.NewLine & Environment.NewLine & ex.Message, _
"Capture Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
My.Forms.MenuForm.NotifyIcon1.Icon = My.Resources.Screen
End Try
End Sub
Private Sub Panel3_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Panel3.MouseEnter
Me.Focus()
End Sub
Private Sub Panel3_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel3.Paint
'==========horizontal=========
e.Graphics.DrawLine(Pens.Black, 5, 98, 85, 98)
e.Graphics.DrawLine(Pens.Black, 5, 98, 9, 96)
e.Graphics.DrawLine(Pens.Black, 5, 98, 9, 100)
e.Graphics.DrawLine(Pens.Black, 84, 98, 81, 96)
e.Graphics.DrawLine(Pens.Black, 84, 98, 81, 100)
'==========vertical===========
e.Graphics.DrawLine(Pens.Black, 98, 5, 98, 85)
e.Graphics.DrawLine(Pens.Black, 98, 5, 96, 9)
e.Graphics.DrawLine(Pens.Black, 98, 5, 100, 9)
e.Graphics.DrawLine(Pens.Black, 98, 84, 96, 81)
e.Graphics.DrawLine(Pens.Black, 98, 84, 100, 81)
End Sub
Private Sub wLabel_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles wLabel.SizeChanged
Me.wLabel.Left = 46 - CInt(Me.wLabel.Size.Width / 2)
End Sub
Private Sub ToolStrip1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStrip1.MouseEnter
Me.Focus()
End Sub
Private Sub Form3_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
My.Settings.Save()
End Sub
Private Sub ToolBarForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If e.CloseReason = CloseReason.UserClosing Then
e.Cancel = True
Me.rectangleFrm.Close()
End If
End Sub
Private Sub GoToImageFolderTSB_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Me.rectangleFrm = CType(Me.Owner, RectangleForm)
Me.PenWidthTSDDB.Text = My.Settings.PenWidth & " pt"
Me.PenWidthTSDDB.ToolTipText = "Line Width (" & Me.PenWidthTSDDB.Text & ")"
End Sub
Private Sub GoToImageFolderTSB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GoToImageFolderTSB.Click
My.Forms.MenuForm.GoToTheFolder()
Me.rectangleFrm.Close()
End Sub
Private Sub SolidToolStripMenuItem_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles SolidToolStripMenuItem.Paint
Dim p1 As New Pen(Color.Black, 1)
p1.DashStyle = Drawing2D.DashStyle.Solid
e.Graphics.DrawLine(p1, 5, CInt(Me.SolidToolStripMenuItem.Height / 2), 20, CInt(Me.SolidToolStripMenuItem.Height / 2))
p1.Dispose()
End Sub
Private Sub DotToolStripMenuItem_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DotToolStripMenuItem.Paint
Dim p1 As New Pen(Color.Black, 2)
p1.DashStyle = Drawing2D.DashStyle.Dot
e.Graphics.DrawLine(p1, 5, CInt(Me.DotToolStripMenuItem.Height / 2), 20, CInt(Me.DotToolStripMenuItem.Height / 2))
p1.Dispose()
End Sub
Private Sub DashToolStripMenuItem_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DashToolStripMenuItem.Paint
Dim p1 As New Pen(Color.Black, 2)
p1.DashStyle = Drawing2D.DashStyle.Dash
e.Graphics.DrawLine(p1, 5, CInt(Me.DashToolStripMenuItem.Height / 2), 20, CInt(Me.DashToolStripMenuItem.Height / 2))
p1.Dispose()
End Sub
Private Sub PenStyleTSDDB_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PenStyleTSDDB.Paint
Dim p1 As New Pen(Color.Black, 2)
p1.DashStyle = My.Settings.DashStyle
e.Graphics.DrawLine(p1, 5, CInt(Me.PenStyleTSDDB.Height / 2), 20, CInt(Me.PenStyleTSDDB.Height / 2))
p1.Dispose()
Me.PenStyleTSDDB.ToolTipText = "Line Style (" & My.Settings.DashStyle.ToString & ")"
End Sub
Private Sub DashToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DashToolStripMenuItem.Click
My.Settings.DashStyle = Drawing2D.DashStyle.Dash
Me.PenStyleTSDDB.Enabled = False
Me.PenStyleTSDDB.Enabled = True
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
Private Sub DotToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DotToolStripMenuItem.Click
My.Settings.DashStyle = Drawing2D.DashStyle.Dot
Me.PenStyleTSDDB.Enabled = False
Me.PenStyleTSDDB.Enabled = True
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
Private Sub SolidToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SolidToolStripMenuItem.Click
My.Settings.DashStyle = Drawing2D.DashStyle.Solid
Me.PenStyleTSDDB.Enabled = False
Me.PenStyleTSDDB.Enabled = True
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
Private Sub PenColorTSB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PenColorTSB.Click
If Me.ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
My.Settings.PenColor = Me.ColorDialog1.Color
Me.rectangleFrm.rectanglePanel.Refresh()
End If
End Sub
Private Sub PenColorTSB_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PenColorTSB.Paint
Dim br1 As New SolidBrush(My.Settings.PenColor)
e.Graphics.FillRectangle(br1, 5, 5, CInt(Me.PenColorTSB.Width - 10), CInt(Me.PenColorTSB.Height - 10))
br1.Dispose()
Me.PenColorTSB.ToolTipText = "Line Color (" & My.Settings.PenColor.Name & ")"
End Sub
Private Sub Pt1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pt1ToolStripMenuItem.Click
My.Settings.PenWidth = 1
Me.PenWidthTSDDB.Text = 1 & " pt"
Me.PenWidthTSDDB.ToolTipText = "Line Width (" & Me.PenWidthTSDDB.Text & ")"
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
Private Sub Pt2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pt2ToolStripMenuItem.Click
My.Settings.PenWidth = 2
Me.PenWidthTSDDB.Text = 2 & " pt"
Me.PenWidthTSDDB.ToolTipText = "Line Width (" & Me.PenWidthTSDDB.Text & ")"
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
Private Sub Pt3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pt3ToolStripMenuItem.Click
My.Settings.PenWidth = 3
Me.PenWidthTSDDB.Text = 3 & " pt"
Me.PenWidthTSDDB.ToolTipText = "Line Width (" & Me.PenWidthTSDDB.Text & ")"
Me.rectangleFrm.rectanglePanel.Refresh()
End Sub
End Class