Delphi、C++ Builder & .NET sgcUI の一部

sgcWizard、Delphi、C++ Builder & .NET 向けのウィザードとステッパー

セットアップ、オンボーディング、チェックアウトを、分かりやすい 1 ステップずつの流れでユーザーに案内できます。追加したページはすべてステッパーのステップになり、戻る、次へ、完了、キャンセルは標準で備わっていて、1 つのイベントでページが正しくなるまで移動を止められます。

VCL、FireMonkey、WinForms、WPF、AvaloniaDelphi 7 から 13、C++ Builder 2007 から 13無料の .NET Community 版にもすべての機能を搭載sgcUI Enterprise に含まれます
4 ステップ中の 2 番目、Account のオンボーディングウィザード。上部にステッパー、下部に戻る、次へ、キャンセルのボタンがあります

ウィザードに必要なすべて

長いフォームを、ユーザーが最後までたどり着ける案内付きの流れに変える 12 の機能です。ルールも見た目もアプリケーションに合わせられます。

ページ、ステップ、ルール

ウィザードの構造は用意されています。ページを追加し、ルールを決めるだけです。

ステッパーを内蔵した複数ステップのフォーム

ページ、ステップ、ルール

ステッパーを内蔵した複数ステップのフォーム

長いフォームはユーザーを圧倒しますが、同じ項目でも、いくつかの分かりやすいステップに分ければ、最後まで入力されます。TsgcVCLWizard は、各ページをステップに変えます。AddPage は、ページと、そのステッパーバンドのエントリを、キャプション、説明の 1 行、任意のグリフとともに同時に作成します。バンドはユーザーの現在位置と残りを示し、戻る、次へ、完了、キャンセルのバーはすでに用意されています。各ページはコンテナなので、通常のコントロールで内容をデザインでき、ページが開くたびに、ウィザードは最初のコントロールにフォーカスを移します。

  • AddPage は TsgcVCLWizardPage とそのステップを作成します
  • Caption、Description、StepGlyph で各ステップのラベルを設定します
  • ActivePageIndex と ActivePage で、コードから直接ページを切り替えます
  • Next、Back、GoToPage は、ボタンとまったく同じように移動します
ヘルプのトピックを読む

ページ、ステップ、ルール

ページが正しくなるまでユーザーを止める

メールアドレスが空のままユーザーが概要ページに到達すると、原因となった項目から離れた場所で、あとからエラーが起きます。OnBeforePageChange は、ユーザーが次へ、戻る、完了を押した場合、ステップをクリックした場合、コードが GoToPage を呼び出した場合のいずれでも、すべての移動の前に発生します。離れるページと、開こうとしているページが分かり、var の aAllow フラグで移動を止められます。前方への移動は必ず移動先のインデックスが大きくなるため、ユーザーが何を押しても、1 回のテストでページを検証できます。拒否した場合は何も変わらないので、理由を表示して、項目にフォーカスを移します。

  • OnBeforePageChange(Sender, aFromIndex, aToIndex, aAllow) であらゆる移動を拒否できます
  • aToIndex = PageCount は、ユーザーが完了を押したことを意味します
  • aToIndex < aFromIndex をテストすれば、後ろへの移動は通せます
  • OnPageChanged は移動の後に発生し、たとえば概要ページを埋めるのに使えます
ヘルプのトピックを読む
該当しないステップをスキップ

ページ、ステップ、ルール

該当しないステップをスキップ

実際の流れは分岐します。標準配送を選んだ顧客には宅配業者のページは不要で、個人アカウントには会社のステップがありません。ページに Skip を設定すると、ページはウィザードに残りますが、次へと戻るはそのページを飛ばし、ステッパーはそのステップをスキップ済みとして破線の枠で描画するため、ユーザーには全体の道のりが見えます。Skip はいつでも変更でき、通常は前のページのチェックボックスや選択から変更します。戻るボタンは、到達できる前のページがない場合は自動的に無効になるため、ユーザーが自分に関係のないページに迷い込むことはありません。

  • TsgcVCLWizardPage の Skip で、そのページを経路から外します
  • スキップされたステップは wssSkipped 状態で描画されます
  • GoToPage は、スキップされていないページにのみ移動します
  • Onboarding デモは、チェックボックスから Options ページをスキップします
ヘルプのトピックを読む
完了とキャンセルは、あなたが決めた処理を行う

ページ、ステップ、ルール

完了とキャンセルは、あなたが決めた処理を行う

ウィザードは通常、何かを保存して終わるので、そのコードは 1 か所にまとめたいものです。最後のページでは、次へボタンに完了のキャプションが表示され、既定のボタンになります。このボタンを押す、Enter を押す、または Finish を呼び出すと、まず検証が実行され、その後 OnFinish が発生します。そこでデータを保存したり、フォームを閉じたり、ダイアログの ModalResult を設定したりします。キャンセルボタン、Escape キー、Cancel の呼び出しは OnCancel を発生させるため、作業を破棄する前に確認できます。ウィザードが自分で何かを閉じることはないので、流れは常にあなたの制御下にあります。

  • OnFinish は、OnBeforePageChange が完了を許可した後に実行されます
  • OnCancel は、キャンセルボタン、Escape キー、Cancel を処理します
  • ShowCancel で、必ず完了させる必要がある流れのキャンセルボタンを非表示にできます
  • FinishCaption で、最後の次へボタンのテキストを設定します
ヘルプのトピックを読む

自己説明するステッパー

進捗バンドは、ユーザーがどこにいて、何が完了し、何が失敗したかを伝えます。

ステッパーを上、左に配置、または非表示に

自己説明するステッパー

ステッパーを上、左に配置、または非表示に

短い流れは、ステップを上部に横並びにすると見やすく、説明付きの長い流れは、インストーラーのように左の縦の列が向いています。StepperPosition は、ページに手を加えずにバンドを移動します。wspTop は高さ 80 論理ピクセルの横バンド、wspLeft は幅 200 ピクセルの縦バンド、wspNone は単純なページ切り替えのダイアログのためにバンドを非表示にします。ボタンバーは常に下部にあります。Onboarding デモには、実行時に位置を切り替えるコンボボックスがあり、自分のコンテンツで、3 つのレイアウトを数秒で比較できます。

  • StepperPosition には wspTop、wspLeft、wspNone を指定します
  • ステッパーの Orientation は woHorizontal または woVertical です
  • CircleSize と ConnectorThickness で、ステップのマーカーと線のサイズを設定します
  • ShowDescriptions で、各ラベルの 2 行目を表示または非表示にします
  • アラビア語とヘブライ語の右から左対応:ステッパーの側、ステップの順序、コネクター、矢印付きの「戻る」と「次へ」ボタンがミラー化されます
ヘルプのトピックを読む
色で分かる明確なステップの状態

自己説明するステッパー

色で分かる明確なステップの状態

ユーザーはステッパーを 1 秒で見渡すので、各状態は一目で分かる必要があります。保留中のステップは控えめな数字の付いたアウトライン、アクティブなステップはやわらかなハローを持つアクセントカラーの円と太字のキャプション、完了したステップはチェックマーク、エラーは感嘆符の付いた赤い円、スキップされたステップは破線のアウトラインで表示されます。AutoStates がオンのときは、ActiveIndex を設定すると、それより前のステップが完了になり、後ろのステップは保留のままになり、エラーとスキップの状態は維持されます。アプリケーションがすべての状態を自分で決める場合は、AutoStates をオフにします。

  • wssPending、wssActive、wssCompleted、wssError、wssSkipped
  • AutoStates は、ActiveIndex から状態を導き出します
  • 無効なステップは、薄い色で描画されます
  • AccentColor で、アクティブなステップと完了したステップの色を変更します
ヘルプのトピックを読む
チェックアウトの流れに使える単体のステッパー

自己説明するステッパー

チェックアウトの流れに使える単体のステッパー

すべてのプロセスがウィザードとは限りません。チェックアウト、注文状況のページ、チケットのライフサイクルには、ページなしの進捗インジケーターが必要です。TsgcVCLStepper は、同じバンドを独立したコントロールにしたもので、横にも縦にも配置でき、キャプション、説明、5 つの状態を備えています。Clickable を設定すると、ユーザーはクリックや矢印キーで完了したステップに戻れ、OnStepClick で移動を拒否できます。Stepper デモでは、横と縦のステッパーを並べて表示し、アクティブなステップをエラーまたはスキップにするボタンを備えています。

  • TsgcVCLStepper と TsgcFMXStepper は、ウィザードなしで動作します
  • Steps は、標準のコレクションエディターで編集するコレクションです
  • Clickable と OnStepClick で、完了したステップがナビゲーションになります
  • ActiveIndex で、独自のコードから進捗を動かせます
ヘルプのトピックを読む

アプリケーションに合わせる

あなたの言語、あなたのデザイナー、あなたのテーマ、あなたのフレームワークに対応します。

すべてのボタンに、あなたの言葉を

アプリケーションに合わせる

すべてのボタンに、あなたの言葉を

スペイン語のアプリケーションに英語の次へボタンがあると、未完成に見えます。ボタンバーの 4 つのキャプションは published プロパティで、既定値は Back、Next、Finish、Cancel です。オブジェクトインスペクターで設定するか、IDE の通常のリソースツールで翻訳するか、独自の翻訳テーブルからコードで割り当てられます。キャプションは、既定値と異なる場合にのみフォームファイルに保存され、ボタンは長い単語に合わせて幅が広がります。ステップのラベルはページの Caption と Description から取得されるため、ページと一緒に翻訳されます。

  • BackCaption、NextCaption、FinishCaption、CancelCaption
  • ShowCancel でキャンセルボタンを削除します
  • ステップのラベルは、各ページの Caption と Description に従います
  • ヘルプトピックでは、例として Anterior、Siguiente、Finalizar、Cancelar を設定しています
ヘルプのトピックを読む

アプリケーションに合わせる

すべてのページを IDE でビジュアルにデザイン

ウィザードはフォームであり、フォームはフォームデザイナーでデザインするのが最適です。SGC Wizard パレットページは、VCL と FireMonkey 向けにウィザードとステッパーを登録します。ウィザードを右クリックして Add Page を選ぶと、新しいページが作成、表示、選択され、ラベルやチェックボックスの編集をすぐに始められます。Next Page と Previous Page でデザイナー内のページ間を移動でき、バンドのステップをクリックすると、そのページが表示されます。表示されるのはアクティブなページだけで、デザイン時に表示されているページが、フォームファイルに保存されます。

  • コンテキストメニューの Add Page、Next Page、Previous Page の各バーブ
  • パレットに TsgcVCLWizard、TsgcVCLStepper、TsgcFMXWizard、TsgcFMXStepper が並びます
  • バンドとボタンバーは内部のもので、フォームファイルを散らかしません
  • 単体のステッパーの Steps は、標準のコレクションエディターを使います
ヘルプのトピックを読む
テーマとキーボード、Enter は次へ

アプリケーションに合わせる

テーマとキーボード、Enter は次へ

ウィザードは、マウスを使っても使わなくても、アプリケーションの他の部分と同じ感覚で使えるべきです。Theme は、sgcUICore のライトとダークのテーマを切り替え、AccentColor は、アクティブなステップ、完了したコネクター、既定のボタンの色を設定します。ウィザードは、ページ上のコントロールにもテーマを適用するため、TLabel、TEdit、TCheckBox は、ダークなページでも読みやすいままです。フォーカスがウィザードの中にある間は、Enter が次へ(最後のページでは完了)、Escape がキャンセルになりますが、メモでは Enter が改行のために使われます。

  • Theme には utDefault(アプリケーションのテーマに従う)、utLight、utDark、utCustom を指定します
  • AccentColor は ARGB の色で、0 ならテーマのアクセントを使います
  • 独自の Theme プロパティを持つ子コントロールには、ウィザードのテーマが適用されます
  • Clickable がオンの間、フォーカスされたステッパーは矢印キーで移動します
ヘルプのトピックを読む
ドキュメントとテスト用のステッパー画像

アプリケーションに合わせる

ドキュメントとテスト用のステッパー画像

ドキュメント、メール、ビジュアル回帰テストでは、動作するコントロールではなく、ステップの画像が必要になることがよくあります。sgcWizard_Render のレンダラーは、ウィンドウも VCL や FireMonkey も使わずに TsgcStepperModel とボタンバーを描画するため、コンソールプログラム、サービス、ユニットテスト、Web サーバーでも、同じステッパーを画像として生成できます。すべてのプラットフォームでビルドでき、Linux64 も含まれます。幅と高さは論理ピクセルで、scale の係数により鮮明な画像が得られます。たとえば 640 × 100 を scale 2 で指定すると、1280 × 200 の PNG になります。

  • sgcWizardSaveToPNG と sgcWizardSaveToSVG は、ファイルまたはストリームに書き出します
  • sgcWizardRender は、任意の sgcUICore キャンバスに描画します
  • sgcWizardSaveButtonBarToPNG と sgcWizardSaveButtonBarToSVG は、ボタンバーを描画します
  • .NET では、esegece.sgcWizard.Rendering パッケージが Windows、Linux、macOS で PNG を書き出します
ヘルプのトピックを読む

アプリケーションに合わせる

WPF と Avalonia でビューモデルにバインド

WPF や Avalonia の開発者は、コードビハインドを書くのではなく、バインドすることを期待します。これらのホストでは、ウィザード、ページ、ステッパーのユーザー向けプロパティは、依存関係プロパティまたは Avalonia のプロパティなので、ビューモデルにバインドでき、Style から値を受け取り、アニメーション化できます。ActivePageIndex は、次へ、戻る、ステップのクリックのときにウィザード自身が変更するため、既定で TwoWay にバインドされ、ビューモデルが常に現在のステップを把握できます。WinForms のコントロールは通常のプロパティのままで、3 つのホストすべてが Delphi の名前を使います。

  • TsgcWpfWizard と TsgcAvaloniaWizard、およびそれぞれのページとステッパー
  • バインド可能なすべてのプロパティに対する、ActivePageIndexProperty のような静的フィールド
  • OnBeforePageChange など、イベントは Delphi の名前のまま、デリゲートプロパティとして提供されます
  • WPF と Avalonia ではページが 1 つの子を持ち、WinForms ではページがコンテナです
ヘルプのトピックを読む

sgcWizard の動作を見る

sgcUI スイートのデモに含まれる sgcWizard:組み込みのシミュレーションデータでオフラインで動作する完全なアプリケーションです。

sgcWizard の主な利用シーン

オンボーディングと初回セットアップ

最初の数分で、新しいユーザーが残るかどうかが決まります。アカウント作成、設定、概要を 4 つの短いページに分け、ユーザーが先へ進む前に OnBeforePageChange で名前とメールアドレスを検証し、既定値を使いたいユーザーには Options ページをスキップします。OnPageChanged で概要を埋め、OnFinish でアカウントを保存します。Onboarding デモはまさにこの流れで、ライトとダークの切り替えと、ステッパーの位置のセレクターで試せます。

  • 検証
  • スキップされるページ
  • 完了とキャンセル
Onboarding デモを実行する

チェックアウトと注文入力

注文入力は、カート、住所、配送、支払い、確認という決まった順序をたどります。各ステップがフィールドのページである場合はウィザードを使い、すでにあるフォームの上に単体のステッパーを置くこともできます。完了したステップは、戻るためのクリックできるショートカットになり、支払いの失敗は赤いエラーステップとして表示され、該当しない配送ステップは破線のアウトラインで表示されたままになります。Stepper デモでは、すべての状態を、横向きと縦向きで確認できます。

  • 単体のステッパー
  • ステップの状態
  • クリックできるステップ
Stepper デモを実行する

設定とインポートのアシスタント

技術的なツールには、データベースへの接続、ファイルのインポート、デバイスのセットアップなど、ユーザーがあまり行わない作業のためのアシスタントが必要です。ステッパーを左に置いたウィザードは、すべてのステップを説明付きで一覧にし、OnBeforePageChange はユーザーが先へ進む前に入力を確認し、ボタンのキャプションはツールの言語に従います。同じウィザードは、OnboardingFMX デモが示すように FireMonkey でも、WinForms、WPF、Avalonia でも動作します。

  • 左側のステッパー
  • 検証
  • ボタンのキャプション
OnboardingFMX デモを実行する

A Wizard in a Few Lines

The same API in Delphi, C++ Builder and C#: add the pages, mark one as optional, and validate before the user leaves the Account page.

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;
#include <vcl.h>
#include <Vcl.StdCtrls.hpp>
#include "sgcUICore_Theme.hpp"
#include "sgcWizard_Model.hpp"
#include "sgcWizard_VCL.hpp"

class TWizardHandler : public TObject
{
public:
  TEdit *Name;
  void __fastcall BeforePageChange(TObject *Sender, int aFromIndex,
    int aToIndex, bool &aAllow);
  void __fastcall Finish(TObject *Sender);
};

void __fastcall TWizardHandler::BeforePageChange(TObject *Sender,
  int aFromIndex, int aToIndex, bool &aAllow)
{
  // veto: leaving Account forwards needs a name
  if ((aFromIndex == 1) && (aToIndex > aFromIndex))
    aAllow = !Name->Text.Trim().IsEmpty();
}

void __fastcall TWizardHandler::Finish(TObject *Sender)
{
  ShowMessage("Welcome, " + Name->Text);
}

void __fastcall CreateWizard(TForm *Form, TWizardHandler *Handler)
{
  // the wizard fills the form: stepper on the left, buttons at the bottom
  TsgcVCLWizard *Wizard = new TsgcVCLWizard(Form);
  Wizard->Parent = Form;
  Wizard->Align = alClient;
  Wizard->StepperPosition = wspLeft;
  Wizard->Theme = utDark;
  Wizard->NextCaption = "Continue";
  Wizard->FinishCaption = "Create account";
  // every page is a step of the stepper
  TsgcVCLWizardPage *Page = Wizard->AddPage("Welcome");
  Page->Description = "Start here";
  Page = Wizard->AddPage("Account");
  Page->Description = "Your details";
  Handler->Name = new TEdit(Form);
  Handler->Name->Parent = Page;
  Handler->Name->SetBounds(24, 24, 240, 24);
  // an optional page the user can skip: Next and Back jump over it
  Page = Wizard->AddPage("Options");
  Page->Description = "Optional";
  Page->Skip = true;
  Page = Wizard->AddPage("Done");
  Page->Description = "Summary";
  Wizard->ActivePageIndex = 0;
  Wizard->OnBeforePageChange = Handler->BeforePageChange;
  Wizard->OnFinish = Handler->Finish;
}
using System;
using System.Windows.Forms;
using esegece.sgcUICore;
using esegece.sgcWizard;

internal class MainForm : Form
{
    private readonly TsgcWinFormsWizard Wizard = new TsgcWinFormsWizard();
    private readonly TextBox txtName = new TextBox();

    public MainForm()
    {
        // the wizard fills the form: stepper on the left, buttons at the bottom
        Wizard.Dock = DockStyle.Fill;
        Wizard.StepperPosition = TsgcWizardStepperPosition.wspLeft;
        Wizard.Theme = TsgcUITheme.utDark;
        Wizard.NextCaption = "Continue";
        Wizard.FinishCaption = "Create account";
        Controls.Add(Wizard);
        // every page is a step of the stepper
        TsgcWinFormsWizardPage oPage = Wizard.AddPage("Welcome");
        oPage.Description = "Start here";
        oPage = Wizard.AddPage("Account");
        oPage.Description = "Your details";
        txtName.SetBounds(24, 24, 240, 24);
        oPage.Controls.Add(txtName);
        // an optional page the user can skip: Next and Back jump over it
        oPage = Wizard.AddPage("Options");
        oPage.Description = "Optional";
        oPage.Skip = true;
        oPage = Wizard.AddPage("Done");
        oPage.Description = "Summary";
        Wizard.ActivePageIndex = 0;
        Wizard.OnBeforePageChange = WizardBeforePageChange;
        Wizard.OnFinish = sender => MessageBox.Show("Welcome, " + txtName.Text);
    }

    private void WizardBeforePageChange(object sender, int aFromIndex, int aToIndex, ref bool aAllow)
    {
        // veto: leaving Account forwards needs a name
        if (aFromIndex == 1 && aToIndex > aFromIndex)
            aAllow = txtName.Text.Trim() != "";
    }
}
dotnet add package esegece.sgcWizard.WinForms

sgcWizard のデモを実行する

Onboarding と Stepper は Delphi VCL と C++ Builder 向けに付属し、Delphi FireMonkey 向けには OnboardingFMX があります。.NET 版には、WinForms、WPF、Avalonia 向けの Onboarding と Stepper があります。

Onboarding

Onboarding

Welcome、Account、Options、Summary の 4 ページです。名前とメールアドレスが正しくなるまで、OnBeforePageChange が次へを拒否し、チェックボックスで Options ページをスキップし、OnPageChanged で概要を埋め、OnFinish で表示します。テーマの切り替えと StepperPosition のコンボボックスで、すべてのレイアウトを試せます。

Stepper

Stepper

同じ 5 つのステップを持つ、横向きと縦向きの 2 つの単体 TsgcVCLStepper コントロールです。AutoStates がアクティブなステップより前を完了にし、ボタンでステップをエラーまたはスキップにでき、完了したステップをクリックすると、2 つのステッパーが一緒に戻ります。

OnboardingFMX

TsgcFMXWizard と 4 つの TsgcFMXWizardPage の子を使った Onboarding の流れです。同じ検証による拒否、同じくスキップされる Options ページ、完了時の概要、ダークテーマのチェックボックスを備えています。Delphi 専用です。

コンパイル済みデモ

sgcUI 全製品のすぐに実行できる実行ファイルです。インストールは不要です。

sgcUI_bin.zip をダウンロード →

sgcWizard が含まれるエディション

sgcWizard は、sgcUI Enterprise に含まれており、単体でも販売しています。All-Access バンドルにも含まれています。

sgcWizard 単体パッケージ

€149 / 開発者、ソースコード一式、1 年間のアップデート付き。

sgcWizard を購入 → 価格を見る →

sgcUI Enterprise

sgcUI 全 14 製品、€699 から。

Enterprise を見る →

.NET 向け sgcWizard

NuGet の esegece.sgcWizard.WinForms、.Wpf、.Avalonia で、価格は Delphi 版と同じです。無料の Community 版(esegece.sgcWizard.Community)にはすべての機能があり、違いは体験版の通知だけです。

.NET 向け sgcWizard を購入 →

Registered 版、体験版、Community 版のすべてに、sgcWizard のすべての機能が含まれます。違いは体験版の通知だけです。

機能Community(無料)登録版
ページとステッパーバンドを持つウィザード✓✓
OnBeforePageChange による検証✓✓
スキップされるページと 5 つのステップ状態✓✓
単体のステッパー✓✓
ボタンのキャプション、ライトとダークのテーマ、アクセントカラー✓✓
ヘッドレスでの PNG と SVG 出力✓✓

対応フレームワークとプラットフォーム

sgcWizard のコンポーネント

TsgcVCLWizard と TsgcVCLWizardPage

VCL のウィザードとそのページです。コンポーネントエディターにより、SGC Wizard パレットページから、デザイン時にページを追加できます。

TsgcFMXWizard と TsgcFMXWizardPage

Windows、macOS、iOS、Android、Linux(FMXLinux)の FireMonkey 向けの同じウィザードです。

TsgcVCLStepper と TsgcFMXStepper

あらゆる複数ステップの流れに使える、横向きまたは縦向きの単体のステッパーコントロールです。

TsgcStepperModel

2 つのコントロールの背後にあるフレームワーク非依存のモデルで、ステップ、状態、レイアウトを扱い、ヘッドレス出力用に sgcWizardSaveToPNG と sgcWizardSaveToSVG があります。

.NET コントロール

TsgcWinFormsWizard、TsgcWpfWizard、TsgcAvaloniaWizard で、それぞれにページとステッパーのクラスがあります。

すべての言語で 2 つのデモ

検証付きの 4 ページのサインアップである Onboarding と、状態を持つ単体のステッパーである Stepper です。

ターゲットコンポーネントプラットフォーム
Delphi 7 から 13、VCLTsgcVCLWizard、TsgcVCLStepperWin32、XE2 以降は Win64
Delphi XE6 から 13、FireMonkeyTsgcFMXWizard、TsgcFMXStepperWindows、macOS、iOS、Android、Linux(FMXLinux)
C++ Builder 2007 から 13TsgcVCLWizard、TsgcVCLStepper生成された .hpp ヘッダーとスタティックライブラリ
Delphi 10.2 から 13、フレームワーク非依存TsgcStepperModelLinux64。たとえばサーバー上でステッパーを PNG や SVG に描画できます
.NETTsgcWinFormsWizard、TsgcWpfWizard、TsgcAvaloniaWizardWinForms、WPF、Avalonia

よくある質問

はい。OnBeforePageChange は、ボタン、キーボード、ステップのクリック、独自のコードのいずれによる移動の前にも発生します。離れるページと、開こうとしているページを受け取り、aAllow を False に設定すると、ユーザーはその場にとどまります。完了でも、PageCount を移動先として発生するため、最後のページも同じ方法で検証されます。

はい。TsgcVCLWizard または TsgcFMXWizard をフォームに配置し、右クリックして Add Page を選びます。各ページは他のコンテナと同じように、独自のコントロールでデザインします。Next Page と Previous Page のバーブ、またはバンドのステップをクリックすると、デザイナーで他のページが表示されます。

はい。sgcWizard は単一のソースからビルドされており、Registered 版、体験版、Community 版のすべてに、ウィザード、ステッパー、検証、スキップされるページ、ステップの状態、テーマ、ヘッドレスの PNG と SVG 出力が含まれます。Community 版は、NuGet の無料の esegece.sgcWizard.Community パッケージです。

はい。TsgcWpfWizard と TsgcAvaloniaWizard には、ページとステッパーが付属し、そのプロパティは、ビューモデルにバインドできる依存関係プロパティと Avalonia のプロパティです。これら 2 つのホストでは、ページは 1 つの子を持ち、通常はパネルまたはグリッドです。WinForms には、VCL と同じように、コンテナのページを持つ TsgcWinFormsWizard があります。

はい。TsgcVCLStepper、TsgcFMXStepper、.NET のステッパーは、同じ 5 つの状態を持つ単体のコントロールです。チェックアウト、注文状況、チケットのライフサイクルのために、既存のフォームの上に配置し、コードから ActiveIndex を設定し、Clickable をオンにすれば、ユーザーは完了したステップに戻れます。

はい。BackCaption、NextCaption、FinishCaption、CancelCaption は published プロパティなので、IDE の通常のリソースツールで翻訳するか、コードで設定できます。既定値と異なる場合にのみ保存され、ボタンは長いキャプションに合わせて幅が広がります。ステップのラベルは、ページのキャプションと説明から取得されます。

VCL のウィザードとステッパーは、Win32 と Win64 の Delphi 7 から 13、および C++ Builder 2007 から 13 に対応しています。FireMonkey は、Delphi XE6 以降で、Windows、macOS、iOS、Android に加え、FMXLinux 経由の Linux に対応しています。ヘッドレスのレンダラーは、Delphi 10.2 以降で Linux64 向けにもビルドできます。

sgcWizard のヘルプ

3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

今すぐ sgcWizard をお試しください

sgcUI 体験版には、sgcWizard とその他すべての sgcUI 製品が含まれています。