次の方法で共有


VisualStyleRenderer.DrawBackground メソッド

定義

現在の visual スタイル要素の背景イメージを描画します。

オーバーロード

DrawBackground(IDeviceContext, Rectangle)

現在の visual スタイル要素の背景イメージを、指定した外接する四角形内に描画します。

DrawBackground(IDeviceContext, Rectangle, Rectangle)

現在の visual スタイル要素の背景イメージを、指定した外接する四角形内に描画し、さらにクリッピング四角形にクリップします。

DrawBackground(IDeviceContext, Rectangle)

現在の visual スタイル要素の背景イメージを、指定した外接する四角形内に描画します。

public:
 void DrawBackground(System::Drawing::IDeviceContext ^ dc, System::Drawing::Rectangle bounds);
public void DrawBackground (System.Drawing.IDeviceContext dc, System.Drawing.Rectangle bounds);
member this.DrawBackground : System.Drawing.IDeviceContext * System.Drawing.Rectangle -> unit
Public Sub DrawBackground (dc As IDeviceContext, bounds As Rectangle)

パラメーター

dc
IDeviceContext

背景イメージの描画に使用する IDeviceContext

bounds
Rectangle

背景イメージの描画先となる Rectangle

例外

dcnullです。

次のコード例では、 メソッドをDrawBackground(IDeviceContext, Rectangle)使用して、カスタム コントロールの OnPaint メソッド内で をVisualStyleElement描画する方法を示します。 このコード例は、クラスの概要に関して提供されるより大きな例の VisualStyleRenderer 一部です。

protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        __super::OnPaint(e);

        // Ensure that visual styles are supported.
        if (!Application::RenderWithVisualStyles)
        {
            this->Text = "Visual styles are not enabled.";
            TextRenderer::DrawText(e->Graphics, this->Text,
                this->Font, this->Location, this->ForeColor);
            return;
        }

        // Set the clip region to define the curved corners
        // of the caption.
        SetClipRegion();

        // Draw each part of the window.
        for each(KeyValuePair<String^, VisualStyleElement^>^ entry
            in windowElements)
        {
            if (SetRenderer(entry->Value))
            {
                renderer->DrawBackground(e->Graphics,
                    elementRectangles[entry->Key]);
            }
        }

        // Draw the caption text.
        TextRenderer::DrawText(e->Graphics, this->Text, this->Font,
            elementRectangles["windowCaption"], Color::White,
            TextFormatFlags::VerticalCenter |
            TextFormatFlags::HorizontalCenter);
    }
protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    // Ensure that visual styles are supported.
    if (!Application.RenderWithVisualStyles)
    {
        this.Text = "Visual styles are not enabled.";
        TextRenderer.DrawText(e.Graphics, this.Text,
            this.Font, this.Location, this.ForeColor);
        return;
    }

    // Set the clip region to define the curved corners 
    // of the caption.
    SetClipRegion();

    // Draw each part of the window.
    foreach (KeyValuePair<string, VisualStyleElement> entry
        in windowElements)
    {
        if (SetRenderer(entry.Value))
        {
            renderer.DrawBackground(e.Graphics,
                elementRectangles[entry.Key]);
        }
    }

    // Draw the caption text.
    TextRenderer.DrawText(e.Graphics, this.Text, this.Font,
        elementRectangles["windowCaption"], Color.White,
        TextFormatFlags.VerticalCenter |
        TextFormatFlags.HorizontalCenter);
}
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    MyBase.OnPaint(e)

    ' Ensure that visual styles are supported.
    If Not Application.RenderWithVisualStyles Then
        Me.Text = "Visual styles are not enabled."
        TextRenderer.DrawText(e.Graphics, Me.Text, Me.Font, _
            Me.Location, Me.ForeColor)
        Return
    End If

    ' Set the clip region to define the curved corners of 
    ' the caption.
    SetClipRegion()

    ' Draw each part of the window.
    Dim entry As KeyValuePair(Of String, VisualStyleElement)
    For Each entry In windowElements
        If SetRenderer(entry.Value) Then
            renderer.DrawBackground(e.Graphics, _
                elementRectangles(entry.Key))
        End If
    Next entry

    ' Draw the caption text.
    TextRenderer.DrawText(e.Graphics, Me.Text, Me.Font, _
        elementRectangles("windowCaption"), Color.White, _
        TextFormatFlags.VerticalCenter Or _
        TextFormatFlags.HorizontalCenter)
End Sub

注釈

このメソッドは、および プロパティで指定された現在のビジュアル スタイル要素のClassPart背景をState描画します。

Widthパラメーターでbounds指定された四角形の または Height が 0 未満の場合、メソッドは背景をDrawBackground描画せずに を返します。

visual スタイル要素の背景には、ビットマップ ファイルまたは塗りつぶされた境界線を指定できます。 背景の型を確認するには、引数値 EnumProperty.BackgroundTypeを指定して GetEnumValue メソッドを呼び出します。 要素の背景が指定された境界に合わせてスケーリングされるかどうかを判断するには、 の引数値EnumProperty.SizingTypeを指定して GetEnumValue メソッドを呼び出します。

適用対象

DrawBackground(IDeviceContext, Rectangle, Rectangle)

現在の visual スタイル要素の背景イメージを、指定した外接する四角形内に描画し、さらにクリッピング四角形にクリップします。

public:
 void DrawBackground(System::Drawing::IDeviceContext ^ dc, System::Drawing::Rectangle bounds, System::Drawing::Rectangle clipRectangle);
public void DrawBackground (System.Drawing.IDeviceContext dc, System.Drawing.Rectangle bounds, System.Drawing.Rectangle clipRectangle);
member this.DrawBackground : System.Drawing.IDeviceContext * System.Drawing.Rectangle * System.Drawing.Rectangle -> unit
Public Sub DrawBackground (dc As IDeviceContext, bounds As Rectangle, clipRectangle As Rectangle)

パラメーター

dc
IDeviceContext

背景イメージの描画に使用する IDeviceContext

bounds
Rectangle

背景イメージの描画先となる Rectangle

clipRectangle
Rectangle

描画操作用のクリッピング四角形を定義している Rectangle

例外

dcnullです。

注釈

このメソッドは、および プロパティで指定された現在のビジュアル スタイル要素のClassPart背景をState描画します。 背景は、 パラメーターで指定された領域に clipRectangle クリップされます。

Widthまたは パラメーターでbounds指定された四角形の または HeightclipRectangle が 0 未満の場合、DrawBackgroundメソッドは背景を描画せずに を返します。

visual スタイル要素の背景には、ビットマップ ファイルまたは塗りつぶされた境界線を指定できます。 背景の型を確認するには、引数値 EnumProperty.BackgroundTypeを指定して GetEnumValue メソッドを呼び出します。 要素の背景が指定された境界に合わせてスケーリングされるかどうかを判断するには、 の引数値EnumProperty.SizingTypeを指定して GetEnumValue メソッドを呼び出します。

適用対象