Bagikan melalui


ScrollBarRenderer.DrawHorizontalThumb Metode

Definisi

Menggambar kotak gulir horizontal (juga dikenal sebagai ibu jari) dengan gaya visual.

public:
 static void DrawHorizontalThumb(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::VisualStyles::ScrollBarState state);
public static void DrawHorizontalThumb(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.VisualStyles.ScrollBarState state);
static member DrawHorizontalThumb : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.VisualStyles.ScrollBarState -> unit
Public Shared Sub DrawHorizontalThumb (g As Graphics, bounds As Rectangle, state As ScrollBarState)

Parameter

g
Graphics

yang Graphics digunakan untuk menggambar kotak gulir.

bounds
Rectangle

Rectangle yang menentukan batas kotak gulir.

state
ScrollBarState

Salah ScrollBarState satu nilai yang menentukan status visual kotak gulir.

Pengecualian

Sistem operasi tidak mendukung gaya visual.

-atau-

Gaya visual dinonaktifkan oleh pengguna dalam sistem operasi.

-atau-

Gaya visual tidak diterapkan ke area klien jendela aplikasi.

Contoh

Contoh kode berikut menggunakan DrawHorizontalThumb metode dalam metode kontrol OnPaint kustom untuk menggambar kotak gulir dalam status yang ditentukan oleh lokasi penunjuk mouse. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ScrollBarRenderer kelas .

    // Draw the scroll bar in its normal state.
protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        __super::OnPaint(e);

        // Visual styles are not enabled.
        if (!ScrollBarRenderer::IsSupported)
        {
            this->Parent->Text = "CustomScrollBar Disabled";
            return;
        }

        this->Parent->Text = "CustomScrollBar Enabled";

        // Draw the scroll bar track.
        ScrollBarRenderer::DrawRightHorizontalTrack(e->Graphics,
            ClientRectangle, ScrollBarState::Normal);

        // Draw the thumb and thumb grip in the current state.
        ScrollBarRenderer::DrawHorizontalThumb(e->Graphics,
            thumbRectangle, thumbState);
        ScrollBarRenderer::DrawHorizontalThumbGrip(e->Graphics,
            thumbRectangle, thumbState);

        // Draw the scroll arrows in the current state.
        ScrollBarRenderer::DrawArrowButton(e->Graphics,
            leftArrowRectangle, leftButtonState);
        ScrollBarRenderer::DrawArrowButton(e->Graphics,
            rightArrowRectangle, rightButtonState);

        // Draw a highlighted rectangle in the left side of the scroll
        // bar track if the user has clicked between the left arrow
        // and thumb.
        if (leftBarClicked)
        {
            clickedBarRectangle.X = thumbLeftLimit;
            clickedBarRectangle.Width = thumbRectangle.X - thumbLeftLimit;
            ScrollBarRenderer::DrawLeftHorizontalTrack(e->Graphics,
                clickedBarRectangle, ScrollBarState::Pressed);
        }

        // Draw a highlighted rectangle in the right side of the scroll
        // bar track if the user has clicked between the right arrow
        // and thumb.
        else if (rightBarClicked)
        {
            clickedBarRectangle.X =
                thumbRectangle.X + thumbRectangle.Width;
            clickedBarRectangle.Width =
                thumbRightLimitRight - clickedBarRectangle.X;
            ScrollBarRenderer::DrawRightHorizontalTrack(e->Graphics,
                clickedBarRectangle, ScrollBarState::Pressed);
        }
    }
// Draw the scroll bar in its normal state.
protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    // Visual styles are not enabled.
    if (!ScrollBarRenderer.IsSupported)
    {
        this.Parent.Text = "CustomScrollBar Disabled";
        return;
    }

    this.Parent.Text = "CustomScrollBar Enabled";

    // Draw the scroll bar track.
    ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics,
        ClientRectangle, ScrollBarState.Normal);

    // Draw the thumb and thumb grip in the current state.
    ScrollBarRenderer.DrawHorizontalThumb(e.Graphics,
        thumbRectangle, thumbState);
    ScrollBarRenderer.DrawHorizontalThumbGrip(e.Graphics,
        thumbRectangle, thumbState);

    // Draw the scroll arrows in the current state.
    ScrollBarRenderer.DrawArrowButton(e.Graphics,
            leftArrowRectangle, leftButtonState);
    ScrollBarRenderer.DrawArrowButton(e.Graphics,
            rightArrowRectangle, rightButtonState);

    // Draw a highlighted rectangle in the left side of the scroll 
    // bar track if the user has clicked between the left arrow 
    // and thumb.
    if (leftBarClicked)
    {
        clickedBarRectangle.X = thumbLeftLimit;
        clickedBarRectangle.Width = thumbRectangle.X - thumbLeftLimit;
        ScrollBarRenderer.DrawLeftHorizontalTrack(e.Graphics,
            clickedBarRectangle, ScrollBarState.Pressed);
    }

    // Draw a highlighted rectangle in the right side of the scroll 
    // bar track if the user has clicked between the right arrow 
    // and thumb.
    else if (rightBarClicked)
    {
        clickedBarRectangle.X =
            thumbRectangle.X + thumbRectangle.Width;
        clickedBarRectangle.Width =
            thumbRightLimitRight - clickedBarRectangle.X;
        ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics,
            clickedBarRectangle, ScrollBarState.Pressed);
    }
}
' Draw the scroll bar in its normal state.
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    MyBase.OnPaint(e)

    ' Visual styles are not enabled.
    If Not ScrollBarRenderer.IsSupported Then
        Me.Parent.Text = "CustomScrollBar Disabled"
        Return
    End If

    Me.Parent.Text = "CustomScrollBar Enabled"

    ' Draw the scroll bar track.
    ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics, _
        Me.ClientRectangle, ScrollBarState.Normal)

    ' Draw the thumb and thumb grip in the current state.
    ScrollBarRenderer.DrawHorizontalThumb(e.Graphics, _
        thumbRectangle, thumbState)
    ScrollBarRenderer.DrawHorizontalThumbGrip(e.Graphics, _
        thumbRectangle, thumbState)

    ' Draw the scroll arrows in the current state.
    ScrollBarRenderer.DrawArrowButton(e.Graphics, _
        leftArrowRectangle, leftButtonState)
    ScrollBarRenderer.DrawArrowButton(e.Graphics, _
        rightArrowRectangle, rightButtonState)

    ' Draw a highlighted rectangle in the left side of the scroll 
    ' bar track if the user has clicked between the left arrow 
    ' and thumb.
    If leftBarClicked Then
        clickedBarRectangle.X = thumbLeftLimit
        clickedBarRectangle.Width = thumbRectangle.X - thumbLeftLimit
        ScrollBarRenderer.DrawLeftHorizontalTrack(e.Graphics, _
            clickedBarRectangle, ScrollBarState.Pressed)

    ' Draw a highlighted rectangle in the right side of the scroll 
    ' bar track if the user has clicked between the right arrow 
    ' and thumb.
    ElseIf rightBarClicked Then
        clickedBarRectangle.X = thumbRectangle.X + _
            thumbRectangle.Width
        clickedBarRectangle.Width = thumbRightLimitRight - _
            clickedBarRectangle.X
        ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics, _
            clickedBarRectangle, ScrollBarState.Pressed)
    End If
End Sub

Keterangan

Sebelum menggunakan metode ini, Anda harus memverifikasi bahwa IsSupported properti mengembalikan true.

Berlaku untuk