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)
Параметры
Объект IDeviceContext, используемый для рисования фонового изображения.
Исключения
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)
Параметры
Объект IDeviceContext, используемый для рисования фонового изображения.
- clipRectangle
- Rectangle
Прямоугольник Rectangle, определяющий прямоугольник отсечения для операции рисования.
Исключения
dc
имеет значение null
.
Комментарии
Этот метод рисует фон текущего элемента визуального стиля, Partзаданного свойством Class, и State свойствами. Фон будет обрезана к области, указанной параметром clipRectangle
.
Width Если или Height прямоугольник, заданный параметром bounds
или clipRectangle
параметрами, меньше 0, DrawBackground метод возвращается без рисования фона.
Фон элемента визуального стиля может быть растровым файлом или заполненной границей. Чтобы определить тип фона GetEnumValue , вызовите метод со значением аргумента EnumProperty.BackgroundType. Чтобы определить, будет ли фон элемента масштабироваться в соответствии с заданными границами, вызовите GetEnumValue метод со значением аргумента EnumProperty.SizingType.