Comparteix a través de


VisualStyleRenderer.DrawBackground Método

Definición

Dibuja la imagen de fondo del elemento de estilo visual actual.

Sobrecargas

DrawBackground(IDeviceContext, Rectangle)

Dibuja la imagen de fondo del elemento de estilo visual actual dentro del rectángulo delimitador especificado.

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Dibuja la imagen de fondo del elemento de estilo visual actual dentro del rectángulo delimitador especificado y recortado en el rectángulo de recorte especificado.

DrawBackground(IDeviceContext, Rectangle)

Dibuja la imagen de fondo del elemento de estilo visual actual dentro del rectángulo delimitador especificado.

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)

Parámetros

dc
IDeviceContext

El IDeviceContext usado para dibujar la imagen de fondo.

bounds
Rectangle

Un Rectangle en el que se dibuja la imagen de fondo.

Excepciones

dc es null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el método DrawBackground(IDeviceContext, Rectangle) para dibujar un VisualStyleElement dentro del método OnPaint de un control personalizado. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la información general de la clase 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

Comentarios

Este método dibuja el fondo del elemento de estilo visual actual especificado por las propiedades Class, Party State.

Si el Width o Height del rectángulo especificado por el parámetro bounds es menor que 0, el método DrawBackground devolverá sin dibujar el fondo.

El fondo de un elemento de estilo visual puede ser un archivo de mapa de bits o un borde relleno. Para determinar el tipo de fondo, llame al método GetEnumValue con un valor de argumento de EnumProperty.BackgroundType. Para determinar si el fondo del elemento se escalará para ajustarse a los límites especificados, llame al método GetEnumValue con un valor de argumento de EnumProperty.SizingType.

Se aplica a

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Dibuja la imagen de fondo del elemento de estilo visual actual dentro del rectángulo delimitador especificado y recortado en el rectángulo de recorte especificado.

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)

Parámetros

dc
IDeviceContext

El IDeviceContext usado para dibujar la imagen de fondo.

bounds
Rectangle

Un Rectangle en el que se dibuja la imagen de fondo.

clipRectangle
Rectangle

Un Rectangle que define un rectángulo de recorte para la operación de dibujo.

Excepciones

dc es null.

Comentarios

Este método dibuja el fondo del elemento de estilo visual actual especificado por las propiedades Class, Party State. El fondo se recortará en el área especificada por el parámetro clipRectangle.

Si el Width o Height del rectángulo especificado por los parámetros bounds o clipRectangle es inferior a 0, el método DrawBackground devolverá sin dibujar el fondo.

El fondo de un elemento de estilo visual puede ser un archivo de mapa de bits o un borde relleno. Para determinar el tipo de fondo, llame al método GetEnumValue con un valor de argumento de EnumProperty.BackgroundType. Para determinar si el fondo del elemento se escalará para ajustarse a los límites especificados, llame al método GetEnumValue con un valor de argumento de EnumProperty.SizingType.

Se aplica a