ControlC ControlC.com

[VB.Net] GrayTabControl

Views: 78Total Chars: 1,716
Created: 6/5/12 12:14:40AM ET
Self Destructs: Never
Class GrayTabControl
Inherits TabControlDesigner

Private C1, C2, C3, C4, C5, C6 As Color

Sub New()

C1 = Color.FromArgb(103, 103, 103) 'Panel Color
C2 = Color.FromArgb(81, 81, 81)
C3 = Color.FromArgb(50, 50, 50)
C4 = Color.FromArgb(120, 120, 120)
C5 = Color.FromArgb(150, 150, 150)
C6 = Color.FromArgb(50, Color.Black)

Alignment = TabAlignment.Left
ItemSize = New Size(44, 136)
SizeMode = TabSizeMode.Fixed
ItemSize = New Size(40, 110)
Font = New Font("Verdana", 8S)
PanelColor = C1

For I As Integer = 0 To TabPages.Count - 1
TabPages(I).BackColor = Color.WhiteSmoke
Next

End Sub

Protected Overrides Sub TabPaint(ByVal e As Integer)

Dim T = TabPages(e).Text
Dim R = GetTabRect(e)
Dim Temp = New Rectangle(R.X + 2, R.Y + 5, 110, 35)

If SelectedIndex = e Then
Try : TabPages(e).BackColor = Color.WhiteSmoke : Catch : End Try

G.FillRectangle(ToBrush(C2), Temp)
G.DrawRectangle(ToPen(C3), Temp)

Dim X, Y As Integer

X = Temp.Right
Y = Temp.Y + Temp.Height / 2

Dim P As Point() = {New Point(X, Y - 5), New Point(X, Y + 5), New Point(X - 5, Y)}

G.FillPolygon(Brushes.WhiteSmoke, P)

ElseIf State = MouseState.Over AndAlso Temp.Contains(Coordinates) Then

G.FillRectangle(ToBrush(C4), Temp)
G.DrawRectangle(ToPen(C5), Temp)

End If

G.DrawString(T, Font, Brushes.Black, Center(T, Font, Temp, 0, -1))
G.DrawString(T, Font, Brushes.White, Center(T, Font, Temp))

End Sub

End Class
1,716 chars, 200 words, 61 lines·Create new version