VisualStyleRenderer.DrawBackground Метод

Определение

Рисует фоновое изображение элемента текущего визуального стиля.

Перегрузки

DrawBackground(IDeviceContext, Rectangle)

Рисует фоновое изображение текущего элемента визуального стиля в рамках определенного границами прямоугольника.

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Рисует фоновое изображение текущего элемента визуального стиля в рамках указанного ограниченного прямоугольника и обрезанного до определенного прямоугольника отсечения.

DrawBackground(IDeviceContext, Rectangle)

Рисует фоновое изображение текущего элемента визуального стиля в рамках определенного границами прямоугольника.

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, в котором нарисовано фоновое изображение.

Исключения

dc имеет значение null.

Примеры

В следующем примере кода показано, как использовать DrawBackground(IDeviceContext, Rectangle) метод для рисования VisualStyleElement в методе пользовательского элемента управления OnPaint . Этот пример кода является частью более крупного примера, предоставленного 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

Комментарии

Этот метод рисует фон текущего элемента визуального стиля, Partзаданного свойством Class, и State свойствами.

Width Если или Height прямоугольник, указанный параметромbounds, меньше 0, DrawBackground метод возвращается без рисования фона.

Фон элемента визуального стиля может быть растровым файлом или заполненной границей. Чтобы определить тип фона GetEnumValue , вызовите метод со значением аргумента EnumProperty.BackgroundType. Чтобы определить, будет ли фон элемента масштабироваться в соответствии с заданными границами, вызовите GetEnumValue метод со значением аргумента EnumProperty.SizingType.

Применяется к

DrawBackground(IDeviceContext, Rectangle, Rectangle)

Рисует фоновое изображение текущего элемента визуального стиля в рамках указанного ограниченного прямоугольника и обрезанного до определенного прямоугольника отсечения.

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, определяющий прямоугольник отсечения для операции рисования.

Исключения

dc имеет значение null.

Комментарии

Этот метод рисует фон текущего элемента визуального стиля, Partзаданного свойством Class, и State свойствами. Фон будет обрезана к области, указанной параметром clipRectangle .

Width Если или Height прямоугольник, заданный параметром bounds или clipRectangle параметрами, меньше 0, DrawBackground метод возвращается без рисования фона.

Фон элемента визуального стиля может быть растровым файлом или заполненной границей. Чтобы определить тип фона GetEnumValue , вызовите метод со значением аргумента EnumProperty.BackgroundType. Чтобы определить, будет ли фон элемента масштабироваться в соответствии с заданными границами, вызовите GetEnumValue метод со значением аргумента EnumProperty.SizingType.

Применяется к