• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Custom Vista-style (blue/green) Tạo thanh công cụ như Vista

Bộ sưu tập các thư viện hỗ trợ sẳn cho Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Nội qui chuyên mục
1. Gửi bài viết tại đây, Tester sẽ chuyển vào trong nếu bài viết đạt yêu cầu.
2. Gửi bài theo mẫu qui định: viewtopic.php?f=2&t=5
[ten][/ten]
[loai][/loai]
[ngonngu][/ngonngu]
[tacgia][/tacgia]
[chucnang][/chucnang]
[end][/end]
Hình đại diện của người dùng
PhapSuXeko
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 295
Ngày tham gia: CN 03/05/2009 7:44 pm
Đến từ: Tây Ninh
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Custom Vista-style (blue/green) Tạo thanh công cụ như Vista

Gửi bàigửi bởi PhapSuXeko » T.Năm 25/02/2010 11:54 am

Tên: Tạo thanh công cụ như Vista Custom Vista-style (blue/green)
Loại:
Ngôn ngữ lập trình: VB.NET
Tác giả: Sưu tầm
Chức năng: Nhìn hình sẽ hiểu thôi ^^


Hình ảnh
Hình ảnh

Code:
  1. Imports System.Drawing.Drawing2D
  2.  
  3.  
  4. Public Class clsVistaToolStripRenderer
  5.     Inherits System.Windows.Forms.ToolStripSystemRenderer
  6.  
  7.  
  8.     '// List of all colors
  9.  
  10.     'Main background
  11.     Public clrBGTop1 As Color = Color.FromArgb(255, 127, 166, 191)
  12.     Public clrBGTop2 As Color = Color.FromArgb(255, 4, 72, 117)
  13.     Public clrBGBottom1 As Color = Color.FromArgb(255, 57, 117, 156)
  14.     Public clrBGBottom2 As Color = Color.FromArgb(150, 255, 255, 255)
  15.     Public clrBGBorder As Color = Color.FromArgb(200, 176, 200, 216)
  16.     Public clrBGGreen As Color = Color.FromArgb(100, 57, 161, 133)
  17.  
  18.     'Buttons
  19.     Public clrBtnDarkBorder As Color = Color.FromArgb(200, 3, 50, 81)
  20.     Public clrBtnLightBorder As Color = Color.FromArgb(200, 216, 228, 236)
  21.  
  22.  
  23.     Public Sub DrawRoundedRectangle(ByVal objGraphics As Graphics, _
  24.                                 ByVal m_intxAxis As Integer, _
  25.                                 ByVal m_intyAxis As Integer, _
  26.                                 ByVal m_intWidth As Integer, _
  27.                                 ByVal m_intHeight As Integer, _
  28.                                 ByVal m_diameter As Integer, ByVal color As Color)
  29.  
  30.         Dim pen As New Pen(color)
  31.  
  32.         'Dim g As Graphics
  33.         Dim BaseRect As New RectangleF(m_intxAxis, m_intyAxis, m_intWidth, m_intHeight)
  34.         Dim ArcRect As New RectangleF(BaseRect.Location, New SizeF(m_diameter, m_diameter))
  35.         'top left Arc
  36.         objGraphics.DrawArc(pen, ArcRect, 180, 90)
  37.         objGraphics.DrawLine(pen, m_intxAxis + CInt(m_diameter / 2), m_intyAxis, m_intxAxis + m_intWidth - CInt(m_diameter / 2), m_intyAxis)
  38.  
  39.         ' top right arc
  40.         ArcRect.X = BaseRect.Right - m_diameter
  41.         objGraphics.DrawArc(pen, ArcRect, 270, 90)
  42.         objGraphics.DrawLine(pen, m_intxAxis + m_intWidth, m_intyAxis + CInt(m_diameter / 2), m_intxAxis + m_intWidth, m_intyAxis + m_intHeight - CInt(m_diameter / 2))
  43.  
  44.         ' bottom right arc
  45.         ArcRect.Y = BaseRect.Bottom - m_diameter
  46.         objGraphics.DrawArc(pen, ArcRect, 0, 90)
  47.         objGraphics.DrawLine(pen, m_intxAxis + CInt(m_diameter / 2), m_intyAxis + m_intHeight, m_intxAxis + m_intWidth - CInt(m_diameter / 2), m_intyAxis + m_intHeight)
  48.  
  49.         ' bottom left arc
  50.         ArcRect.X = BaseRect.Left
  51.         objGraphics.DrawArc(pen, ArcRect, 90, 90)
  52.         objGraphics.DrawLine(pen, m_intxAxis, m_intyAxis + CInt(m_diameter / 2), m_intxAxis, m_intyAxis + m_intHeight - CInt(m_diameter / 2))
  53.  
  54.     End Sub
  55.  
  56.     Protected Overrides Sub Initialize(ByVal toolStrip As System.Windows.Forms.ToolStrip)
  57.         MyBase.Initialize(toolStrip)
  58.         toolStrip.AutoSize = False
  59.         toolStrip.Height = 32
  60.         toolStrip.ForeColor = Color.White
  61.         toolStrip.Padding = New Padding(5, 2, 5, 2)
  62.     End Sub
  63.  
  64.     Protected Overrides Sub OnRenderToolStripBorder(ByVal e As System.Windows.Forms.ToolStripRenderEventArgs)
  65.         MyBase.OnRenderToolStripBorder(e)
  66.         ' e.Graphics.DrawRectangle(New Pen(clrBGBorder, 1), e.AffectedBounds)
  67.     End Sub
  68.  
  69.     Protected Overrides Sub OnRenderItemText(ByVal e As System.Windows.Forms.ToolStripItemTextRenderEventArgs)
  70.         MyBase.OnRenderItemText(e)
  71.         'e.Graphics.DrawString(e.Text, e.Item.Font, Brushes.Gray, 20, 6)
  72.     End Sub
  73.  
  74.     Protected Overrides Sub OnRenderItemBackground(ByVal e As System.Windows.Forms.ToolStripItemRenderEventArgs)
  75.         MyBase.OnRenderItemBackground(e)
  76.         'e.Item.
  77.  
  78.     End Sub
  79.  
  80.     Protected Overrides Sub OnRenderToolStripBackground(ByVal e As System.Windows.Forms.ToolStripRenderEventArgs)
  81.         MyBase.OnRenderToolStripBackground(e)
  82.  
  83.         Dim topRect As New Rectangle(0, 0, e.ToolStrip.Width + 2, 16)
  84.         Dim bottomRect As New Rectangle(0, 16, e.ToolStrip.Width + 2, 16)
  85.         Dim bottomGradRect As New Rectangle(0, 23, e.ToolStrip.Width + 2, 7)
  86.  
  87.         Dim topBrush As New LinearGradientBrush(topRect, clrBGTop1, clrBGBottom1, LinearGradientMode.Vertical)
  88.         Dim bottomBrush As New LinearGradientBrush(bottomRect, clrBGTop2, clrBGBottom2, LinearGradientMode.Vertical)
  89.         'Dim bottomBrush As New SolidBrush(clrBGTop2)
  90.         Dim bottomGradBrush As New LinearGradientBrush(bottomGradRect, clrBGTop2, clrBGBottom2, LinearGradientMode.Vertical)
  91.         Dim horGradBrush As New LinearGradientBrush(e.AffectedBounds, Color.Transparent, clrBGGreen, LinearGradientMode.Horizontal)
  92.  
  93.         e.Graphics.FillRectangle(New SolidBrush(clrBGTop2), e.AffectedBounds)
  94.         e.Graphics.FillRectangle(topBrush, topRect)
  95.         e.Graphics.FillRectangle(bottomBrush, bottomRect)
  96.         'e.Graphics.FillRectangle(bottomGradBrush, bottomGradRect)
  97.         e.Graphics.FillRectangle(horGradBrush, e.AffectedBounds)
  98.         e.Graphics.DrawRectangle(New Pen(clrBGBorder, 1), New Rectangle(0, 1, e.ToolStrip.Width - 1, e.ToolStrip.Height - 4))
  99.     End Sub
  100.  
  101.     Protected Overrides Sub OnRenderToolStripPanelBackground(ByVal e As System.Windows.Forms.ToolStripPanelRenderEventArgs)
  102.         MyBase.OnRenderToolStripPanelBackground(e)
  103.         Dim topRect As New Rectangle(0, 0, e.ToolStripPanel.Width, 15)
  104.         Dim bottomRect As New Rectangle(0, 15, e.ToolStripPanel.Width, 15)
  105.  
  106.         Dim topBrush As New LinearGradientBrush(topRect, clrBGTop1, clrBGBottom1, LinearGradientMode.Vertical)
  107.         Dim bottomBrush As New LinearGradientBrush(bottomRect, clrBGTop2, clrBGBottom2, LinearGradientMode.Vertical)
  108.  
  109.         e.Graphics.FillRectangle(topBrush, topRect)
  110.         e.Graphics.FillRectangle(bottomBrush, bottomRect)
  111.     End Sub
  112.  
  113. End Class
  114.  
  115.  


Sử dụng:
  1. MyToolStrip.Renderer = New clsVistaToolStripRenderer


Trang chủ phần mềm xem ảnh ImageGlass: http://www.imageglass.org

Quay về “[.NET] Module, Class, UserControl, DLL”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách