ScrollBarRenderer.DrawHorizontalThumbGrip Metodo

Definizione

Disegna un triangolo su una casella di scorrimento orizzontale (anche nota come pulsante di scorrimento) con stili di visualizzazione.

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

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il triangolo della casella di scorrimento.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del triangolo della casella di scorrimento.

state
ScrollBarState

Uno dei valori di ScrollBarState che specifica lo stato di visualizzazione del triangolo della casella di scorrimento.

Eccezioni

Il sistema operativo non supporta gli stili di visualizzazione.

-oppure-

Gli stili di visualizzazione sono stati disabilitati dall'utente nel sistema operativo.

-oppure-

Gli stili di visualizzazione non sono stati applicati all'area client delle finestre dell'applicazione.

Esempio

Nell'esempio di codice seguente viene usato il DrawHorizontalThumbGrip metodo nel metodo di OnPaint un controllo personalizzato per disegnare un controllo di scorrimento nello stato determinato dalla posizione del puntatore del mouse. Questo esempio di codice fa parte di un esempio più grande fornito per la ScrollBarRenderer classe.

    // 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

Commenti

Prima di usare questo metodo, è necessario verificare che la IsSupported proprietà restituisca true.

Si applica a