
ステッパー内蔵の複数ステップフォーム。
AddPageは、ページと、ステッパーバンド上のそのステップを同時に作成します。Caption、Description、StepGlyphで各ステップに名前を付けるため、ユーザーは現在位置と残りの作業がわかります。Next、Back、GoToPageは、ボタンとまったく同じように移動します。
セットアップ、オンボーディング、チェックアウトの流れをユーザーに案内できます。追加したページはそのままステッパーのステップになり、戻る、次へ、完了、キャンセルの各ボタンは標準で用意され、1 つのイベントでページが有効になるまで移動を止められます。Delphi、C++ Builder、.NET 向けのネイティブなウィザードとステッパーで、ソースコード付きです。
長いフォームはユーザーを圧倒しますが、同じ項目でもわかりやすい数ステップに分ければ最後まで入力してもらえます。sgcWizard は、アプリケーションのルールと外観に合わせて、それを案内付きの流れに変えます。
追加したページはステッパーに表示され、戻る、次へ、完了、キャンセルの各ボタンも標準で付いています。
OnBeforePageChange は、ユーザーがどのボタンを押しても、ページが有効になるまで移動を止めます。
保留、現在、完了、エラー、スキップ。どの状態も一目でわかります。
ボタンのキャプション、ライトとダークのテーマ、アクセントカラー、そして IDE でデザインしたページに対応します。
体験版に付属する Onboarding デモから取得しています。

AddPage は、ページと、ステッパーバンド上のそのステップを同時に作成します。Caption、Description、StepGlyph で各ステップに名前を付けるため、ユーザーは現在位置と残りの作業がわかります。Next、Back、GoToPage は、ボタンとまったく同じように移動します。
Skip を設定すると、Next と Back はそのページを飛ばします。ステッパーには破線の枠で表示されたままです。OnFinish は、検証が完了を許可した後に実行されるため、保存処理を 1 か所にまとめられます。OnCancel は、Cancel ボタン、Escape キー、 Cancelの呼び出しを処理します。ウィザードが自分で何かを閉じることはありません。
StepperPosition には wspTop、wspLeft、wspNone を指定でき、ページには手を加えません。CircleSize、ConnectorThickness、ShowDescriptions は、ステップマーカーのサイズとラベルを設定します。
sgcWizardSaveToPNG、sgcWizardSaveToSVG は、ウィンドウも VCL や FireMonkey も使わずにステッパーを描画します。esegece.sgcWizard.Rendering パッケージが Windows、Linux、macOS で PNG を書き出します。ステップ状態、単体のステッパー、ダークテーマ、独自のボタンキャプションを、デモからそのままご紹介します。

AutoStates をオンにすると、 ActiveIndex がそれらを自動で設定します。
TsgcVCLStepper を単体でチェックアウトに使い、 Clickable のステップで前に戻れます。

BackCaption、NextCaption、FinishCaption、CancelCaption で、ボタンに独自の文言を設定できます。ここではスペイン語です。ページを追加し、1 つを任意ページにして、ユーザーが Account ページを離れる前に検証します。Delphi、C++ Builder、C# で同じ API です。
dotnet add package esegece.sgcWizard.WinForms
procedure TMainForm.CreateWizard;
var
oPage: TsgcVCLWizardPage;
begin
// the wizard fills the form: stepper on the left, buttons at the bottom
FWizard := TsgcVCLWizard.Create(Self);
FWizard.Parent := Self;
FWizard.Align := alClient;
FWizard.StepperPosition := wspLeft;
FWizard.Theme := utDark;
FWizard.NextCaption := 'Continue';
FWizard.FinishCaption := 'Create account';
// every page is a step of the stepper
oPage := FWizard.AddPage('Welcome');
oPage.Description := 'Start here';
oPage := FWizard.AddPage('Account');
oPage.Description := 'Your details';
FName := TEdit.Create(Self);
FName.Parent := oPage;
FName.SetBounds(24, 24, 240, 24);
// an optional page the user can skip: Next and Back jump over it
FOptions := FWizard.AddPage('Options');
FOptions.Description := 'Optional';
FOptions.Skip := True;
oPage := FWizard.AddPage('Done');
oPage.Description := 'Summary';
FWizard.ActivePageIndex := 0;
FWizard.OnBeforePageChange := WizardBeforePageChange;
FWizard.OnFinish := WizardFinish;
end;
procedure TMainForm.WizardBeforePageChange(Sender: TObject;
aFromIndex, aToIndex: Integer; var aAllow: Boolean);
begin
// veto: leaving Account forwards needs a name
if (aFromIndex = 1) and (aToIndex > aFromIndex) then
aAllow := Trim(FName.Text) <> '';
end;
procedure TMainForm.WizardFinish(Sender: TObject);
begin
ShowMessage('Welcome, ' + FName.Text);
end;
sgcWizard は単体でも、sgcUI の Enterprise に含まれる形でも入手できます。テーマとランタイムを共有するすべての製品と一緒にお使いいただけます。いずれもソースコード付きです。
.NET では、 esegece.sgcWizard.Community の NuGet パッケージは無償です。sgcWizard は All-Access バンドルにも含まれます。
すべての sgcUI 製品は同じランタイム sgcUICore で描画するため、ウィザードはフォント、余白、アクセントカラー、テーマをページ上のコントロールと共有します。

ウィザードの各ページを sgcEditors の入力コントロールで構成します。コントロールにはウィザードのテーマが適用されます。

サイドバーの項目からウィザードを開き、アプリケーションの他の機能へもワンクリックで移動できます。

インポートアシスタントが書き込もうとしている行を、完了の前に Summary ページで表示します。
Standard
Professional で追加
Enterprise で追加
体験版をダウンロードして、Onboarding、Stepper、OnboardingFMX の各デモを実行するか、先に機能一覧をご覧ください。