ToolStripProfessionalRenderer クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ToolStripProfessionalRenderer クラスの意味・解説 

ToolStripProfessionalRenderer クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

ToolStrip オブジェクト描画機能を、カスタムパレットおよび簡素化されスタイル適用することによって処理します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class ToolStripProfessionalRenderer
    Inherits ToolStripRenderer
Dim instance As ToolStripProfessionalRenderer
public class ToolStripProfessionalRenderer
 : ToolStripRenderer
public ref class ToolStripProfessionalRenderer
 : public ToolStripRenderer
public class ToolStripProfessionalRenderer
 extends ToolStripRenderer
public class ToolStripProfessionalRenderer
 extends ToolStripRenderer
解説解説
使用例使用例

Microsoft® Outlook® のナビゲーション ウィンドウ似た複合コントロール作成する方法を、次のコード例示します。完全なコードの一覧については、「方法 : プロフェッショナル スタイルの ToolStrip コントロール作成する」を参照してください

Friend Class StackRenderer
   Inherits ToolStripProfessionalRenderer
   Private Shared titleBarGripBmp As
 Bitmap
   Private Shared titleBarGripEnc As
 String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
   
   ' Define titlebar colors.
   Private Shared titlebarColor1 As
 Color = Color.FromArgb(89, 135, 214)
   Private Shared titlebarColor2 As
 Color = Color.FromArgb(76, 123, 204)
   Private Shared titlebarColor3 As
 Color = Color.FromArgb(63, 111, 194)
   Private Shared titlebarColor4 As
 Color = Color.FromArgb(50, 99, 184)
   Private Shared titlebarColor5 As
 Color = Color.FromArgb(38, 88, 174)
   Private Shared titlebarColor6 As
 Color = Color.FromArgb(25, 76, 164)
   Private Shared titlebarColor7 As
 Color = Color.FromArgb(12, 64, 154)
   Private Shared borderColor As
 Color = Color.FromArgb(0, 0, 128)
   
   Shared Sub New()
      titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc)
     End Sub
   
   Public Sub New()
     End Sub
   
     Private Sub DrawTitleBar(ByVal
 g As Graphics, ByVal rect As
 Rectangle)

         ' Assign the image for the grip.
         Dim titlebarGrip As Image = titleBarGripBmp

         ' Fill the titlebar. 
         ' This produces the gradient and the rounded-corner effect.
         g.DrawLine(New Pen(titlebarColor1), rect.X, rect.Y, rect.X
 + rect.Width, rect.Y)
         g.DrawLine(New Pen(titlebarColor2), rect.X, rect.Y +
 1, rect.X + rect.Width, rect.Y + 1)
         g.DrawLine(New Pen(titlebarColor3), rect.X, rect.Y +
 2, rect.X + rect.Width, rect.Y + 2)
         g.DrawLine(New Pen(titlebarColor4), rect.X, rect.Y +
 3, rect.X + rect.Width, rect.Y + 3)
         g.DrawLine(New Pen(titlebarColor5), rect.X, rect.Y +
 4, rect.X + rect.Width, rect.Y + 4)
         g.DrawLine(New Pen(titlebarColor6), rect.X, rect.Y +
 5, rect.X + rect.Width, rect.Y + 5)
         g.DrawLine(New Pen(titlebarColor7), rect.X, rect.Y +
 6, rect.X + rect.Width, rect.Y + 6)

         ' Center the titlebar grip.
         g.DrawImage(titlebarGrip, New Point(rect.X + (rect.Width
 / 2 - titlebarGrip.Width / 2), rect.Y + 1))
     End Sub
   
   
   ' This method handles the RenderGrip event.
   Protected Overrides Sub
 OnRenderGrip(e As ToolStripGripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width,
 7))
     End Sub
   
   
   ' This method handles the RenderToolStripBorder event.
   Protected Overrides Sub
 OnRenderToolStripBorder(e As ToolStripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width,
 7))
     End Sub
   
   
   ' This method handles the RenderButtonBackground event.
   Protected Overrides Sub
 OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
      Dim g As Graphics = e.Graphics
      Dim bounds As New
 Rectangle(Point.Empty, e.Item.Size)
      
      Dim gradientBegin As Color = Color.FromArgb(203,
 225, 252)
      Dim gradientEnd As Color = Color.FromArgb(125,
 165, 224)
      
         Dim button As ToolStripButton = CType(e.Item,
 ToolStripButton)
      
      If button.Pressed OrElse button.Checked
 Then
         gradientBegin = Color.FromArgb(254, 128, 62)
         gradientEnd = Color.FromArgb(255, 223, 154)
      ElseIf button.Selected Then
         gradientBegin = Color.FromArgb(255, 255, 222)
         gradientEnd = Color.FromArgb(255, 203, 136)
      End If
      
      Dim b = New LinearGradientBrush(bounds,
 gradientBegin, gradientEnd, LinearGradientMode.Vertical)
      Try
         g.FillRectangle(b, bounds)
      Finally
         b.Dispose()
      End Try
      
      e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, bounds)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.Width - 1,
 bounds.Y)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.X, bounds.Height
 - 1)
      
      Dim toolStrip As ToolStrip = button.Owner
         Dim nextItem As ToolStripButton =
 CType(button.Owner.GetItemAt(button.Bounds.X, button.Bounds.Bottom + 1), ToolStripButton)
      
      If nextItem Is Nothing
 Then
         g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Height - 1, bounds.X
 + bounds.Width - 1, bounds.Height - 1)
      End If
     End Sub
 End Class
internal class StackRenderer : ToolStripProfessionalRenderer
{
    private static Bitmap titleBarGripBmp;
    private static string
 titleBarGripEnc = @"Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+";

    // Define titlebar colors.
    private static Color titlebarColor1 = Color.FromArgb(89,
 135, 214);
    private static Color titlebarColor2 = Color.FromArgb(76,
 123, 204);
    private static Color titlebarColor3 = Color.FromArgb(63,
 111, 194);
    private static Color titlebarColor4 = Color.FromArgb(50,
 99, 184);
    private static Color titlebarColor5 = Color.FromArgb(38,
 88, 174);
    private static Color titlebarColor6 = Color.FromArgb(25,
 76, 164);
    private static Color titlebarColor7 = Color.FromArgb(12,
 64, 154);
    private static Color borderColor = Color.FromArgb(0,
 0, 128);

    static StackRenderer()
    {
        titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc);
    }

    public StackRenderer()
    {
    }

    private void DrawTitleBar(Graphics g, Rectangle
 rect)
    {
        // Assign the image for the grip.
        Image titlebarGrip = titleBarGripBmp;

        // Fill the titlebar. 
        // This produces the gradient and the rounded-corner effect.
        g.DrawLine(new Pen(titlebarColor1), rect.X, rect.Y, rect.X
 + rect.Width, rect.Y);
        g.DrawLine(new Pen(titlebarColor2), rect.X, rect.Y + 1,
 rect.X + rect.Width, rect.Y + 1);
        g.DrawLine(new Pen(titlebarColor3), rect.X, rect.Y + 2,
 rect.X + rect.Width, rect.Y + 2);
        g.DrawLine(new Pen(titlebarColor4), rect.X, rect.Y + 3,
 rect.X + rect.Width, rect.Y + 3);
        g.DrawLine(new Pen(titlebarColor5), rect.X, rect.Y + 4,
 rect.X + rect.Width, rect.Y + 4);
        g.DrawLine(new Pen(titlebarColor6), rect.X, rect.Y + 5,
 rect.X + rect.Width, rect.Y + 5);
        g.DrawLine(new Pen(titlebarColor7), rect.X, rect.Y + 6,
 rect.X + rect.Width, rect.Y + 6);

        // Center the titlebar grip.
        g.DrawImage(
            titlebarGrip,
            new Point(rect.X + ((rect.Width / 2) - (titlebarGrip.Width
 / 2)),
            rect.Y + 1));
    }

    // This method handles the RenderGrip event.
    protected override void OnRenderGrip(ToolStripGripRenderEventArgs
 e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderToolStripBorder event.
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs
 e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderButtonBackground event.
    protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs
 e)
    {
        Graphics g = e.Graphics;
        Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);

        Color gradientBegin = Color.FromArgb(203, 225, 252);
        Color gradientEnd = Color.FromArgb(125, 165, 224);

        ToolStripButton button = e.Item as ToolStripButton;
        if (button.Pressed || button.Checked)
        {
            gradientBegin = Color.FromArgb(254, 128, 62);
            gradientEnd = Color.FromArgb(255, 223, 154);
        }
        else if (button.Selected)
        {
            gradientBegin = Color.FromArgb(255, 255, 222);
            gradientEnd = Color.FromArgb(255, 203, 136);
        }

        using (Brush b = new LinearGradientBrush(
            bounds,
            gradientBegin,
            gradientEnd,
            LinearGradientMode.Vertical))
        {
            g.FillRectangle(b, bounds);
        }

        e.Graphics.DrawRectangle(
            SystemPens.ControlDarkDark,
            bounds);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.Width - 1,
            bounds.Y);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.X,
            bounds.Height - 1);

        ToolStrip toolStrip = button.Owner;
        ToolStripButton nextItem = button.Owner.GetItemAt(
            button.Bounds.X,
            button.Bounds.Bottom + 1) as ToolStripButton;

        if (nextItem == null)
        {
            g.DrawLine(
                SystemPens.ControlDarkDark,
                bounds.X,
                bounds.Height - 1,
                bounds.X + bounds.Width - 1,
                bounds.Height - 1);
        }
    }
}
継承階層継承階層
System.Object
   System.Windows.Forms.ToolStripRenderer
    System.Windows.Forms.ToolStripProfessionalRenderer
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ToolStripProfessionalRenderer クラス」の関連用語

ToolStripProfessionalRenderer クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ToolStripProfessionalRenderer クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS