Partage via


ScrollBarRenderer.DrawHorizontalThumbGrip Méthode

Définition

Dessine une poignée sur une zone de défilement horizontale (également appelée pouce) avec des styles visuels.

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)

Paramètres

g
Graphics

Utilisé Graphics pour dessiner la poignée de la boîte de défilement.

bounds
Rectangle

Qui Rectangle spécifie les limites de la poignée de boîte de défilement.

state
ScrollBarState

Une des ScrollBarState valeurs qui spécifie l’état visuel de la poignée de zone de défilement.

Exceptions

Le système d’exploitation ne prend pas en charge les styles visuels.

- ou -

Les styles visuels sont désactivés par l’utilisateur dans le système d’exploitation.

- ou -

Les styles visuels ne sont pas appliqués à la zone cliente des fenêtres d’application.

Exemples

L’exemple de code suivant utilise la méthode dans la DrawHorizontalThumbGrip méthode d’un OnPaint contrôle personnalisé pour dessiner une poignée de zone de défilement dans l’état déterminé par l’emplacement du pointeur de la souris. Cet exemple de code fait partie d’un exemple plus grand fourni pour 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

Remarques

Avant d’utiliser cette méthode, vous devez vérifier que la IsSupported propriété retourne true.

S’applique à