Partilhar via


VisualStyleRenderer.DrawBackground Método

Definição

Desenha a imagem de tela de fundo do elemento de estilo visual atual.

Sobrecargas

DrawBackground(IDeviceContext, Rectangle)

Desenha a imagem de tela de fundo do elemento de estilo visual atual dentro do retângulo delimitador especificado.

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Desenha a imagem de tela de fundo do elemento de estilo visual atual dentro do retângulo delimitador especificado e recortada no retângulo de recorte especificado.

DrawBackground(IDeviceContext, Rectangle)

Desenha a imagem de tela de fundo do elemento de estilo visual atual dentro do retâ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

O IDeviceContext usado para desenhar a imagem de tela de fundo.

bounds
Rectangle

Um Rectangle no qual a imagem de tela de fundo é desenhada.

Exceções

dc é null.

Exemplos

O exemplo de código a seguir demonstra como usar o DrawBackground(IDeviceContext, Rectangle) método para desenhar um VisualStyleElement dentro do método de OnPaint um controle personalizado. Este exemplo de código faz parte de um exemplo maior fornecido para a visão geral da VisualStyleRenderer classe.

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

Comentários

Esse método desenha a tela de fundo do elemento de estilo visual atual especificado pelas Classpropriedades , Parte State .

Se o Width ou Height do retângulo especificado pelo bounds parâmetro for menor que 0, o DrawBackground método retornará sem desenhar a tela de fundo.

A tela de fundo de um elemento de estilo visual pode ser um arquivo bitmap ou uma borda preenchida. Para determinar o tipo de plano de fundo, chame o GetEnumValue método com um valor de argumento de EnumProperty.BackgroundType. Para determinar se o plano de fundo do elemento será dimensionado para se ajustar aos limites especificados, chame o GetEnumValue método com um valor de argumento de EnumProperty.SizingType.

Aplica-se a

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Desenha a imagem de tela de fundo do elemento de estilo visual atual dentro do retângulo delimitador especificado e recortada no retâ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

O IDeviceContext usado para desenhar a imagem de tela de fundo.

bounds
Rectangle

Um Rectangle no qual a imagem de tela de fundo é desenhada.

clipRectangle
Rectangle

Um Rectangle que define um retângulo de recorte para a operação de desenho.

Exceções

dc é null.

Comentários

Esse método desenha a tela de fundo do elemento de estilo visual atual especificado pelas Classpropriedades , Parte State . O plano de fundo será recortado para a área especificada pelo clipRectangle parâmetro .

Se o Width ou Height do retângulo especificado pelos bounds parâmetros ou clipRectangle for menor que 0, o DrawBackground método retornará sem desenhar a tela de fundo.

A tela de fundo de um elemento de estilo visual pode ser um arquivo bitmap ou uma borda preenchida. Para determinar o tipo de plano de fundo, chame o GetEnumValue método com um valor de argumento de EnumProperty.BackgroundType. Para determinar se o plano de fundo do elemento será dimensionado para se ajustar aos limites especificados, chame o GetEnumValue método com um valor de argumento de EnumProperty.SizingType.

Aplica-se a