VisualStyleRenderer.DrawBackground 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 비주얼 스타일 요소의 배경 이미지를 그립니다.
오버로드
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
인 경우
예제
다음 코드 예제에서는 사용자 지정 컨트롤의 OnPaint 메서드 내에서 그리 VisualStyleElement 기 위해 메서드를 사용 DrawBackground(IDeviceContext, Rectangle) 하는 방법을 보여 줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 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및 State 속성에 지정된 현재 비주얼 스타일 요소의 Class배경을 그립니다.
매개 변수에 Width 지정된 사각형 또는 Height 사각형이 0보다 작으면 메서드는 DrawBackground 배경을 그리지 bounds
않고 반환됩니다.
비주얼 스타일 요소의 배경은 비트맵 파일 또는 채워진 테두리일 수 있습니다. 백그라운드 형식을 확인하려면 인수 값EnumProperty.BackgroundType이 있는 GetEnumValue 메서드를 호출합니다. 요소 배경이 지정된 경계에 맞게 확장되는지 여부를 확인하려면 인수 값EnumProperty.SizingType이 GetEnumValue 있는 메서드를 호출합니다.
적용 대상
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입니다.
예외
dc
이(가) null
인 경우
설명
이 메서드는 , Part및 State 속성에 지정된 현재 비주얼 스타일 요소의 Class배경을 그립니다. 배경이 매개 변수로 지정된 clipRectangle
영역으로 잘립니다.
Width 또는 매개 변수에서 지정한 bounds
사각형의 크기가 Height clipRectangle
0 DrawBackground 보다 작으면 메서드는 배경을 그리지 않고 반환됩니다.
비주얼 스타일 요소의 배경은 비트맵 파일 또는 채워진 테두리일 수 있습니다. 백그라운드 형식을 확인하려면 인수 값EnumProperty.BackgroundType이 있는 GetEnumValue 메서드를 호출합니다. 요소 배경이 지정된 경계에 맞게 확장되는지 여부를 확인하려면 인수 값EnumProperty.SizingType이 GetEnumValue 있는 메서드를 호출합니다.