TrackBarRenderer::DrawTopPointingThumb Method (Graphics^, Rectangle, TrackBarThumbState)
Draws an upward-pointing track bar slider (also known as the thumb) with visual styles.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public: static void DrawTopPointingThumb( Graphics^ g, Rectangle bounds, TrackBarThumbState state )
Parameters
- g
-
Type:
System.Drawing::Graphics^
The Graphics used to draw the track bar slider.
- bounds
-
Type:
System.Drawing::Rectangle
The Rectangle that specifies the bounds of the track bar slider.
- state
-
Type:
System.Windows.Forms.VisualStyles::TrackBarThumbState
One of the TrackBarThumbState values that specifies the visual state of the track bar slider.
| 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 DrawTopPointingThumb method in a custom control's OnPaint method to draw an upward-pointing track bar slider. 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();
}
Available since 2.0