TrackBarRenderer::DrawHorizontalTrack Method (Graphics^, Rectangle)

 

Draws the track for a horizontal track bar with visual styles.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
static void DrawHorizontalTrack(
	Graphics^ g,
	Rectangle bounds
)

Parameters

g
Type: System.Drawing::Graphics^

The Graphics used to draw the track.

bounds
Type: System.Drawing::Rectangle

The Rectangle that specifies the bounds of the track.

Exception Condition
InvalidOperationException

The operating system does not support visual styles.

-or-

Visual styles are disabled by the user in the operating system.

-or-

Visual styles are not applied to the client area of application windows.

Before calling this method, you should verify that the value of the IsSupported property is true.

The following code example uses the DrawHorizontalTrack method in a custom control's OnPaint method to draw a track bar. This code example is part of a larger example provided for the TrackBarRenderer class.

    // Draw the track bar.
protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        if (!TrackBarRenderer::IsSupported)
        {
            this->Parent->Text = "CustomTrackBar Disabled";
            return;
        }

        this->Parent->Text = "CustomTrackBar Enabled";
        TrackBarRenderer::DrawHorizontalTrack(e->Graphics,
            trackRectangle);
        TrackBarRenderer::DrawTopPointingThumb(e->Graphics,
            thumbRectangle, thumbState);
        TrackBarRenderer::DrawHorizontalTicks(e->Graphics,
            ticksRectangle, numberTicks, EdgeStyle::Raised);
    }

    // Determine whether the user has clicked the track bar thumb.
protected:
    virtual void OnMouseDown(MouseEventArgs^ e) override
    {
        if (!TrackBarRenderer::IsSupported)
        {
            return;
        }
        if (this->thumbRectangle.Contains(e->Location))
        {
            thumbClicked = true;
            thumbState = TrackBarThumbState::Pressed;
        }

        this->Invalidate();
    }

.NET Framework
Available since 2.0
Return to top
Show: