aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS/ShiftOSTabs.vb
diff options
context:
space:
mode:
authorFloppyDiskDrive <[email protected]>2017-09-21 17:16:49 -0500
committerFloppyDiskDrive <[email protected]>2017-09-21 17:16:49 -0500
commitcf1bf85e01c8d99f052c09b72d2fb2bbbc0b99b0 (patch)
treefe0d16447fab2a74b6161b4c981c036a93ed8239 /ShiftOS/ShiftOSTabs.vb
parent30b6a49d5b0e720eee131e970761ece7c6ed7ef0 (diff)
downloadshiftos-rewind-cf1bf85e01c8d99f052c09b72d2fb2bbbc0b99b0.tar.gz
shiftos-rewind-cf1bf85e01c8d99f052c09b72d2fb2bbbc0b99b0.tar.bz2
shiftos-rewind-cf1bf85e01c8d99f052c09b72d2fb2bbbc0b99b0.zip
Added the SOS code (VB and C#)
Very, very incomplete (C# isn't *remotely* complete.)
Diffstat (limited to 'ShiftOS/ShiftOSTabs.vb')
-rw-r--r--ShiftOS/ShiftOSTabs.vb40
1 files changed, 40 insertions, 0 deletions
diff --git a/ShiftOS/ShiftOSTabs.vb b/ShiftOS/ShiftOSTabs.vb
new file mode 100644
index 0000000..52df581
--- /dev/null
+++ b/ShiftOS/ShiftOSTabs.vb
@@ -0,0 +1,40 @@
+Public Class ShiftOSTabs
+
+ Inherits TabControl
+ Sub New()
+ SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.ResizeRedraw Or ControlStyles.UserPaint, True)
+ DoubleBuffered = True
+ SizeMode = TabSizeMode.Fixed
+ ItemSize = New Size(120, 30)
+ End Sub
+
+ Protected Overrides Sub CreateHandle()
+ MyBase.CreateHandle()
+ End Sub
+
+ Protected Overrides Sub OnPaint(e As PaintEventArgs)
+ Dim B As New Bitmap(Width, Height)
+ Dim G As Graphics = Graphics.FromImage(B)
+
+ G.Clear(Color.Gainsboro)
+
+ For i = 0 To TabCount - 1
+ Dim TabRectangle As Rectangle = GetTabRect(i)
+
+ If i = SelectedIndex Then
+ G.FillRectangle(Brushes.DarkGray, TabRectangle)
+ Else
+ G.FillRectangle(Brushes.LightGray, TabRectangle)
+ End If
+
+ G.DrawString(TabPages(i).Text, Font, Brushes.White, TabRectangle, New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
+ Next
+
+ e.Graphics.DrawImage(B.Clone, 0, 0)
+ G.Dispose() : B.Dispose()
+ MyBase.OnPaint(e)
+ End Sub
+
+End Class
+
+