Condividi tramite


VisualStyleRenderer.DrawBackground Metodo

Definizione

Consente di disegnare l'immagine di sfondo dell'elemento dello stile di visualizzazione corrente.

Overload

DrawBackground(IDeviceContext, Rectangle)

Consente di disegnare l'immagine di sfondo dell'elemento dello stile di visualizzazione corrente all'interno del rettangolo di delimitazione specificato.

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Consente di disegnare l'immagine di sfondo dell'elemento dello stile di visualizzazione corrente all'interno del rettangolo di delimitazione specificato e ritagliato nel rettangolo di ridimensionamento specificato.

DrawBackground(IDeviceContext, Rectangle)

Consente di disegnare l'immagine di sfondo dell'elemento dello stile di visualizzazione corrente all'interno del rettangolo di delimitazione specificato.

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)

Parametri

dc
IDeviceContext

Oggetto IDeviceContext utilizzato per disegnare l'immagine di sfondo.

bounds
Rectangle

Struttura Rectangle nella quale l'immagine di sfondo viene disegnata.

Eccezioni

dc è null.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare il DrawBackground(IDeviceContext, Rectangle) metodo per disegnare un VisualStyleElement oggetto all'interno del metodo di OnPaint un controllo personalizzato. Questo esempio di codice fa parte di un esempio più ampio fornito per la panoramica della 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

Commenti

Questo metodo disegna lo sfondo dell'elemento dello stile di visualizzazione corrente specificato dalle Classproprietà , Parte State .

Se l'oggetto Width o Height del rettangolo specificato dal bounds parametro è minore di 0, il DrawBackground metodo restituirà senza disegnare lo sfondo.

Lo sfondo di un elemento dello stile di visualizzazione può essere un file bitmap o un bordo riempito. Per determinare il tipo di sfondo, chiamare il GetEnumValue metodo con un valore di argomento .EnumProperty.BackgroundType Per determinare se lo sfondo dell'elemento verrà ridimensionato per adattarsi ai limiti specificati, chiamare il GetEnumValue metodo con un valore dell'argomento .EnumProperty.SizingType

Si applica a

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Consente di disegnare l'immagine di sfondo dell'elemento dello stile di visualizzazione corrente all'interno del rettangolo di delimitazione specificato e ritagliato nel rettangolo di ridimensionamento specificato.

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)

Parametri

dc
IDeviceContext

Oggetto IDeviceContext utilizzato per disegnare l'immagine di sfondo.

bounds
Rectangle

Struttura Rectangle nella quale l'immagine di sfondo viene disegnata.

clipRectangle
Rectangle

Struttura Rectangle che definisce un rettangolo di ridimensionamento per l'operazione di disegno.

Eccezioni

dc è null.

Commenti

Questo metodo disegna lo sfondo dell'elemento dello stile di visualizzazione corrente specificato dalle Classproprietà , Parte State . Lo sfondo verrà ritagliato nell'area specificata dal clipRectangle parametro .

Se l'oggetto Width o Height del rettangolo specificato dai bounds parametri o clipRectangle è minore di 0, il DrawBackground metodo restituirà senza disegnare lo sfondo.

Lo sfondo di un elemento dello stile di visualizzazione può essere un file bitmap o un bordo riempito. Per determinare il tipo di sfondo, chiamare il GetEnumValue metodo con un valore di argomento .EnumProperty.BackgroundType Per determinare se lo sfondo dell'elemento verrà ridimensionato per adattarsi ai limiti specificati, chiamare il GetEnumValue metodo con un valore dell'argomento .EnumProperty.SizingType

Si applica a