Table of Contents

Getting started with TMS FNC Widget Marquee Progress

TTMSFNCWidgetMarqueeProgress shows a rotating arc on a circular ring to signal ongoing, indeterminate work. This page gets a ring running in a few steps.

Prerequisites

  • TMS FNC Core installed and the runtime package added to the project.
  • TMS FNC Dashboard Pack design-time package registered in the IDE.

Add the control

  1. Drop TTMSFNCWidgetMarqueeProgress from the TMS FNC Dashboard palette page onto a form.
  2. Optionally set CaptionOptions.Text to label the ring.
  3. Set MarqueeAnimation.Active := True to start the rotation (it is off by default).

Create and start it in code

The snippet below creates the widget, sizes the arc segment, sets the speed, and starts the animation. Value is the arc-segment length as a percentage (0..100) of the ring; MarqueeAnimation.Interval (1..200 ms) and Step (1..20 degrees) tune the rotation.

procedure TForm1.SetupMarquee;
begin
  FMarquee := TTMSFNCWidgetMarqueeProgress.Create(Self);
  FMarquee.Parent := Self;
  FMarquee.SetBounds(20, 20, 220, 220);

  // Value is the arc-segment length as a percentage (0..100) of the ring.
  // For an indeterminate "working" look, a partial arc that rotates reads best.
  FMarquee.Value := 30;
  FMarquee.CaptionOptions.Text := 'Server Chicago';

  // Drive the rotation. Interval is the millisecond delay between steps
  // (1..200, smaller is faster); Step is the degrees added per tick (1..20).
  FMarquee.MarqueeAnimation.Interval := 1;
  FMarquee.MarqueeAnimation.Step := 4;
  FMarquee.MarqueeAnimation.Active := True; // start rotating
end;

procedure TForm1.StopMarquee;
begin
  // Stop the rotation when the background task completes.
  FMarquee.MarqueeAnimation.Active := False;
  FMarquee.Value := 100; // fill the ring to signal "done"
end;

Next steps