Delphi, C++ Builder & .NET Parte de sgcUI

sgcWizard, el asistente y stepper para Delphi, C++ Builder & .NET

Guía a tus usuarios por la configuración, la incorporación y el pago, un paso claro cada vez. Cada página que añades se convierte en un paso del stepper, Atrás, Siguiente, Finalizar y Cancelar vienen incluidos, y un solo evento te permite detener el avance hasta que la página sea válida.

VCL, FireMonkey, WinForms, WPF, AvaloniaDelphi 7 a 13 y C++ Builder 2007 a 13Todas las funciones en la edición Community de .NET gratuitaIncluido en sgcUI Enterprise
Asistente de incorporación en el paso 2 de 4, Cuenta, con el stepper arriba y los botones Atrás, Siguiente y Cancelar

Todo lo que necesita un asistente

Doce funciones que convierten un formulario largo en un flujo guiado que tus usuarios terminan, con las reglas y el aspecto de tu aplicación.

Páginas, pasos y reglas

La estructura de un asistente ya está lista: tú añades las páginas y decides las reglas.

Formularios de varios pasos con un stepper integrado

Páginas, pasos y reglas

Formularios de varios pasos con un stepper integrado

Los formularios largos abruman a los usuarios, mientras que los mismos campos divididos en unos pocos pasos claros se terminan. TsgcVCLWizard convierte cada página en un paso: AddPage crea una página y su entrada en la banda del stepper al mismo tiempo, con un título, una línea de descripción y un glifo opcional. La banda muestra dónde está el usuario y qué queda, y la barra Atrás, Siguiente, Finalizar y Cancelar ya está ahí. Cada página es un contenedor, así que diseñas su contenido con controles normales, y el asistente mueve el foco al primer control cada vez que se abre una página.

  • AddPage crea un TsgcVCLWizardPage y su paso
  • Caption, Description y StepGlyph etiquetan cada paso
  • ActivePageIndex y ActivePage cambian de página directamente desde código
  • Next, Back y GoToPage se mueven exactamente como los botones
Leer el tema de la ayuda

Páginas, pasos y reglas

Detén al usuario hasta que la página sea válida

Dejar que un usuario llegue al resumen con una dirección de correo vacía significa un error más tarde, lejos del campo que lo causó. OnBeforePageChange se dispara antes de cada movimiento, tanto si el usuario pulsó Siguiente, Atrás o Finalizar, hizo clic en un paso o tu código llamó a GoToPage. Te indica la página que se deja y la página que está a punto de abrirse, y una bandera var aAllow detiene el movimiento. Como todo avance tiene un índice de destino mayor, una sola comprobación valida la página pulse lo que pulse el usuario. Cuando aplicas el veto, nada cambia, así que muestras el motivo y pones el foco en el campo.

  • OnBeforePageChange(Sender, aFromIndex, aToIndex, aAllow) puede vetar cualquier movimiento
  • aToIndex = PageCount significa que el usuario pulsó Finalizar
  • Comprobar aToIndex < aFromIndex deja pasar los movimientos hacia atrás
  • OnPageChanged se dispara tras el movimiento, por ejemplo para rellenar una página de resumen
Leer el tema de la ayuda
Omite los pasos que no se aplican

Páginas, pasos y reglas

Omite los pasos que no se aplican

Los flujos reales se ramifican. Un cliente que elige el envío estándar no necesita la página del mensajero, y una cuenta particular no tiene paso de empresa. Activa Skip en una página y se queda en el asistente, pero Siguiente y Atrás la saltan y el stepper dibuja su paso como omitido con un contorno discontinuo, así que los usuarios siguen viendo todo el recorrido. Skip puede cambiar en cualquier momento, normalmente desde una casilla o una elección en una página anterior. El botón Atrás se deshabilita automáticamente cuando no se puede llegar a ninguna página anterior, así que los usuarios nunca caen en una página que no les corresponde.

  • Skip en un TsgcVCLWizardPage la saca del recorrido
  • Los pasos omitidos se dibujan en el estado wssSkipped
  • GoToPage solo se mueve a páginas que no están omitidas
  • La demo Onboarding omite su página Options desde una casilla
Leer el tema de la ayuda
Finalizar y Cancelar hacen lo que tú decidas

Páginas, pasos y reglas

Finalizar y Cancelar hacen lo que tú decidas

Un asistente suele terminar guardando algo, y quieres ese código en un solo lugar. En la última página el botón Siguiente muestra el título de Finalizar y se convierte en el botón predeterminado. Al pulsarlo, al pulsar Intro o al llamar a Finish se ejecuta primero tu validación y después se dispara OnFinish, donde guardas los datos, cierras el formulario o estableces el ModalResult de un diálogo. El botón Cancelar, la tecla Escape y una llamada a Cancel disparan OnCancel, así que puedes preguntar antes de descartar el trabajo. El asistente nunca cierra nada por sí solo, así que el flujo sigue bajo tu control.

  • OnFinish se ejecuta después de que OnBeforePageChange permita finalizar
  • OnCancel gestiona el botón Cancelar, la tecla Escape y Cancel
  • ShowCancel oculta el botón Cancelar en los flujos que deben completarse
  • FinishCaption fija el texto del último botón Siguiente
Leer el tema de la ayuda

Un stepper que se explica solo

La banda de progreso dice a los usuarios dónde están, qué está hecho y qué ha ido mal.

Stepper arriba, a la izquierda u oculto

Un stepper que se explica solo

Stepper arriba, a la izquierda u oculto

Los flujos cortos se leen mejor con los pasos en la parte superior, mientras que los más largos con descripciones encajan mejor en una columna a la izquierda, como un instalador. StepperPosition mueve la banda sin tocar tus páginas: wspTop muestra una banda horizontal de 80 píxeles lógicos de alto, wspLeft una banda vertical de 200 píxeles de ancho, y wspNone la oculta para un diálogo paginado sencillo. La barra de botones se queda abajo. La demo Onboarding tiene un combo que cambia la posición en tiempo de ejecución, así que puedes comparar los tres diseños con tu propio contenido en segundos.

  • StepperPosition admite wspTop, wspLeft o wspNone
  • La Orientation de un stepper es woHorizontal o woVertical
  • CircleSize y ConnectorThickness fijan el tamaño de los marcadores de paso y de las líneas
  • ShowDescriptions muestra u oculta la segunda línea de cada etiqueta
  • De derecha a izquierda para árabe y hebreo: el lado del asistente por pasos, el orden de los pasos, los conectores y los botones Atrás y Siguiente con sus flechas están reflejados
Leer el tema de la ayuda
Estados de paso claros con color

Un stepper que se explica solo

Estados de paso claros con color

Los usuarios recorren un stepper en un segundo, así que cada estado debe ser evidente. Los pasos pendientes son contornos con un número atenuado, el paso activo es un disco de acento con un halo suave y un título en negrita, los pasos completados llevan una marca de verificación, los errores son un disco rojo con un signo de exclamación y los pasos omitidos tienen un contorno discontinuo. Con AutoStates activado, al establecer ActiveIndex se completan los pasos anteriores y se dejan pendientes los posteriores, mientras que los estados de error y omitido se conservan. Desactiva AutoStates cuando tu aplicación decida cada estado por sí misma.

  • wssPending, wssActive, wssCompleted, wssError y wssSkipped
  • AutoStates deriva los estados de ActiveIndex
  • Un paso deshabilitado se dibuja con colores atenuados
  • AccentColor cambia el color de los pasos activos y completados
Leer el tema de la ayuda
Un stepper independiente para flujos de pago

Un stepper que se explica solo

Un stepper independiente para flujos de pago

No todo proceso es un asistente. Un pago, una página de estado de pedido o el ciclo de vida de un ticket necesitan el indicador de progreso sin las páginas. TsgcVCLStepper es la misma banda como control propio, horizontal o vertical, con títulos, descripciones y los cinco estados. Activa Clickable y los usuarios vuelven a un paso completado con un clic o con las teclas de flecha, mientras que OnStepClick te permite vetar el movimiento. La demo Stepper muestra un stepper horizontal y uno vertical lado a lado, con botones que marcan el paso activo como error o como omitido.

  • TsgcVCLStepper y TsgcFMXStepper funcionan sin un asistente
  • Steps es una colección que se edita con el editor de colecciones estándar
  • Clickable y OnStepClick convierten los pasos completados en navegación
  • ActiveIndex mueve el progreso desde tu propio código
Leer el tema de la ayuda

Se adapta a tu aplicación

Tu idioma, tu diseñador, tu tema y tu marco.

Tus textos en cada botón

Se adapta a tu aplicación

Tus textos en cada botón

Un botón Next en inglés dentro de una aplicación en español parece sin terminar. Los cuatro títulos de la barra de botones son propiedades publicadas con los valores predeterminados Back, Next, Finish y Cancel. Establécelos en el Object Inspector, tradúcelos con las herramientas de recursos habituales del IDE o asígnalos en código desde tu propia tabla de traducción. Un título se guarda en el archivo del formulario solo cuando difiere del predeterminado, y los botones crecen para ajustarse a palabras más largas. Las etiquetas de los pasos salen del Caption y la Description de las páginas, así que se traducen junto con las páginas.

  • BackCaption, NextCaption, FinishCaption y CancelCaption
  • ShowCancel quita el botón Cancelar
  • Las etiquetas de los pasos siguen el Caption y la Description de cada página
  • El tema de ayuda usa Anterior, Siguiente, Finalizar y Cancelar como ejemplo
Leer el tema de la ayuda

Se adapta a tu aplicación

Diseña cada página visualmente en el IDE

Los asistentes son formularios, y los formularios se diseñan mejor en el diseñador de formularios. La página SGC Wizard de la paleta registra el asistente y el stepper para VCL y FireMonkey. Haz clic derecho en el asistente y elige Add Page: se crea una página nueva, se muestra y se selecciona, lista para tus ediciones, etiquetas y casillas. Next Page y Previous Page se mueven entre las páginas en el diseñador, y un clic en un paso de la banda muestra su página. Solo la página activa es visible, y la página mostrada en tiempo de diseño es la que se guarda en el archivo del formulario.

  • Los verbos Add Page, Next Page y Previous Page en el menú contextual
  • TsgcVCLWizard, TsgcVCLStepper, TsgcFMXWizard y TsgcFMXStepper en la paleta
  • La banda y la barra de botones son internas y nunca ensucian el archivo del formulario
  • Los Steps de un stepper independiente usan el editor de colecciones estándar
Leer el tema de la ayuda
Temas y teclado, Intro es Siguiente

Se adapta a tu aplicación

Temas y teclado, Intro es Siguiente

Un asistente debe sentirse como el resto de la aplicación, con el ratón o sin él. Theme alterna entre los temas claro y oscuro de sgcUICore, y AccentColor fija el color de los pasos activos, los conectores terminados y el botón predeterminado. El asistente también aplica el tema a los controles de sus páginas, así que un TLabel, un TEdit o un TCheckBox se siguen leyendo en una página oscura. Mientras el foco está dentro del asistente, Intro es Siguiente, o Finalizar en la última página, y Escape es Cancelar, pero un memo conserva su Intro para una nueva línea.

  • Theme admite utDefault (sigue el tema de la aplicación), utLight, utDark o utCustom
  • AccentColor es un color ARGB, y 0 mantiene el acento del tema
  • Los controles hijos con su propia propiedad Theme reciben el tema del asistente
  • Un stepper enfocado se mueve con las teclas de flecha mientras Clickable está activado
Leer el tema de la ayuda
Imágenes del stepper para documentación y pruebas

Se adapta a tu aplicación

Imágenes del stepper para documentación y pruebas

La documentación, los correos y las pruebas de regresión visual a menudo necesitan una imagen de los pasos en lugar de un control vivo. El renderizador de sgcWizard_Render pinta un TsgcStepperModel y la barra de botones sin ventana y sin VCL ni FireMonkey, así que un programa de consola, un servicio, una prueba unitaria o un servidor web pueden producir el mismo stepper como imagen. Compila en todas las plataformas, Linux64 incluido. El ancho y el alto son píxeles lógicos y un factor de escala da imágenes nítidas: 640 por 100 con escala 2 es un PNG de 1280 por 200.

  • sgcWizardSaveToPNG y sgcWizardSaveToSVG escriben un archivo o un flujo
  • sgcWizardRender pinta sobre cualquier lienzo de sgcUICore
  • sgcWizardSaveButtonBarToPNG y sgcWizardSaveButtonBarToSVG dibujan la barra de botones
  • En .NET el paquete esegece.sgcWizard.Rendering escribe PNG en Windows, Linux y macOS
Leer el tema de la ayuda

Se adapta a tu aplicación

Enlázalo a tu modelo de vista en WPF y Avalonia

Los desarrolladores de WPF y Avalonia esperan enlazar, no escribir código subyacente. En esos entornos las propiedades visibles del asistente, de sus páginas y del stepper son propiedades de dependencia o propiedades de Avalonia, así que se enlazan a un modelo de vista, toman valores de un estilo y se pueden animar. ActivePageIndex se enlaza en ambos sentidos por defecto, porque el asistente lo cambia por sí mismo en Siguiente, Atrás y clics en los pasos, de modo que tu modelo de vista siempre conoce el paso actual. Los controles de WinForms mantienen propiedades simples, y los tres entornos usan los nombres de Delphi.

  • TsgcWpfWizard y TsgcAvaloniaWizard, con sus páginas y steppers
  • Un campo estático como ActivePageIndexProperty para cada propiedad enlazable
  • Los eventos mantienen los nombres de Delphi, como OnBeforePageChange, como propiedades de delegado
  • En WPF y Avalonia una página contiene un solo hijo; en WinForms una página es un contenedor
Leer el tema de la ayuda

Mira sgcWizard en acción

sgcWizard dentro de las demos de la suite sgcUI: aplicaciones completas que funcionan sin conexión con datos simulados integrados.

Quién construye con sgcWizard

Incorporación y configuración inicial

Los primeros minutos deciden si un usuario nuevo se queda. Divide la creación de la cuenta, las preferencias y un resumen en cuatro páginas cortas, valida el nombre y el correo en OnBeforePageChange antes de que el usuario avance, y omite la página de opciones para los usuarios que quieren los valores por defecto. OnPageChanged rellena el resumen y OnFinish guarda la cuenta. La demo Onboarding es exactamente este flujo, con un interruptor claro y oscuro y un selector de posición del stepper para probar.

  • Validación
  • Páginas omitidas
  • Finalizar y Cancelar
Ejecuta la demo Onboarding

Pago y entrada de pedidos

La entrada de pedidos sigue un camino fijo: carrito, dirección, envío, pago y confirmación. Usa el asistente cuando cada paso sea una página de campos, o coloca un stepper independiente sobre un formulario que ya tengas. Los pasos completados se convierten en accesos directos hacia atrás, un pago fallido se muestra como un paso de error en rojo, y un paso de envío que no se aplica permanece visible con un contorno discontinuo. La demo Stepper muestra todos los estados, en horizontal y en vertical.

  • Stepper independiente
  • Estados de paso
  • Pasos en los que se puede hacer clic
Ejecuta la demo Stepper

Asistentes de configuración e importación

Las herramientas técnicas necesitan asistentes para tareas que los usuarios hacen pocas veces: conectarse a una base de datos, importar un archivo, configurar un dispositivo. Un asistente con el stepper a la izquierda lista cada paso con una descripción, OnBeforePageChange comprueba la entrada antes de que el usuario avance y los títulos de los botones siguen el idioma de la herramienta. El mismo asistente funciona en FireMonkey, como muestra la demo OnboardingFMX, y en WinForms, WPF y Avalonia.

  • Stepper a la izquierda
  • Validación
  • Títulos de los botones
Ejecuta la demo OnboardingFMX

Un asistente en pocas líneas

La misma API en Delphi, C++ Builder y C#: añade las páginas, marca una como opcional y valida antes de que el usuario salga de la página Account.

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

Ejecuta las demos de sgcWizard

Onboarding y Stepper se incluyen para Delphi VCL y para C++ Builder, OnboardingFMX para Delphi FireMonkey, y la edición .NET tiene Onboarding y Stepper para WinForms, WPF y Avalonia.

Onboarding

Onboarding

Cuatro páginas, Welcome, Account, Options y Summary. OnBeforePageChange veta Siguiente hasta que el nombre y el correo son válidos, una casilla omite la página Options, OnPageChanged rellena el resumen y OnFinish lo muestra. Un interruptor de tema y un combo de StepperPosition te permiten probar cada diseño.

Stepper

Stepper

Dos controles TsgcVCLStepper independientes, horizontal y vertical, con los mismos cinco pasos. AutoStates completa los pasos anteriores al activo, los botones marcan un paso como error u omitido, y un clic en un paso completado hace retroceder a ambos steppers.

OnboardingFMX

El flujo Onboarding con TsgcFMXWizard y cuatro hijos TsgcFMXWizardPage: el mismo veto de validación, la misma página Options omitida, un resumen al finalizar y una casilla de tema oscuro. Solo para Delphi.

Demos compiladas

Ejecutables listos para usar de cada producto sgcUI, sin nada que instalar.

Descargar sgcUI_bin.zip →

Dónde se incluye sgcWizard

sgcWizard forma parte de sgcUI Enterprise, y también se vende por separado. sgcWizard también se incluye en el paquete All-Access.

Paquete individual de sgcWizard

€149 / desarrollador, código fuente completo, 1 año de actualizaciones.

Comprar sgcWizard → Ver precios →

sgcUI Enterprise

Los 14 productos sgcUI, desde €699.

Ver Enterprise →

sgcWizard para .NET

esegece.sgcWizard.WinForms, .Wpf y .Avalonia en NuGet, al mismo precio que Delphi. La edición Community gratuita (esegece.sgcWizard.Community) tiene todas las funciones, solo cambia el aviso de prueba.

Comprar sgcWizard .NET →

Las compilaciones Registrada, de prueba y Community incluyen todas las funciones de sgcWizard. Solo cambia el aviso de prueba.

FunciónCommunity (gratuita)Registrada
Asistente con páginas y banda de stepper✓✓
Validación con OnBeforePageChange✓✓
Páginas omitidas y los cinco estados de paso✓✓
Stepper independiente✓✓
Títulos de los botones, temas claro y oscuro, color de acento✓✓
Salida PNG y SVG sin ventana✓✓

Frameworks y plataformas compatibles

Componentes de sgcWizard

TsgcVCLWizard y TsgcVCLWizardPage

El asistente VCL y sus páginas. Un editor de componentes añade páginas en tiempo de diseño, desde la página SGC Wizard de la paleta.

TsgcFMXWizard y TsgcFMXWizardPage

El mismo asistente para FireMonkey en Windows, macOS, iOS, Android y Linux (FMXLinux).

TsgcVCLStepper y TsgcFMXStepper

El control stepper independiente, horizontal o vertical, para cualquier flujo de varios pasos.

TsgcStepperModel

El modelo independiente del marco detrás de ambos controles: pasos, estados y diseño, con sgcWizardSaveToPNG y sgcWizardSaveToSVG para la salida sin ventana.

Controles .NET

TsgcWinFormsWizard, TsgcWpfWizard y TsgcAvaloniaWizard, cada uno con sus clases de página y stepper.

Dos demos en cada idioma

Onboarding, un registro de cuatro páginas con validación, y Stepper, un stepper independiente con estados.

DestinoComponentePlataformas
Delphi 7 a 13, VCLTsgcVCLWizard, TsgcVCLStepperWin32, y Win64 desde XE2
Delphi XE6 a 13, FireMonkeyTsgcFMXWizard, TsgcFMXStepperWindows, macOS, iOS, Android y Linux (FMXLinux)
C++ Builder 2007 a 13TsgcVCLWizard, TsgcVCLStepperCabeceras .hpp generadas y bibliotecas estáticas
Delphi 10.2 a 13, independiente del marcoTsgcStepperModelLinux64, por ejemplo para renderizar un stepper a PNG o SVG en un servidor
.NETTsgcWinFormsWizard, TsgcWpfWizard, TsgcAvaloniaWizardWinForms, WPF y Avalonia

Preguntas frecuentes

Sí. OnBeforePageChange se dispara antes de cada movimiento, desde los botones, el teclado, un clic en un paso o tu propio código. Recibe la página que se deja y la página que está a punto de abrirse, y establecer aAllow a False mantiene al usuario donde está. Finalizar también lo dispara, con PageCount como destino, así que la última página se valida de la misma manera.

Sí. Coloca un TsgcVCLWizard o un TsgcFMXWizard en un formulario, haz clic derecho y elige Add Page. Cada página se diseña como cualquier otro contenedor, con tus propios controles. Los verbos Next Page y Previous Page, o un clic en un paso de la banda, muestran las demás páginas en el diseñador.

Sí. sgcWizard se construye desde un único código fuente, y las ediciones Registrada, de prueba y Community tienen todas las funciones: los asistentes, los steppers, la validación, las páginas omitidas, los estados de paso, los temas y la salida PNG y SVG sin ventana. Community es el paquete gratuito esegece.sgcWizard.Community en NuGet.

Sí. TsgcWpfWizard y TsgcAvaloniaWizard incluyen sus páginas y steppers, y sus propiedades son propiedades de dependencia y propiedades de Avalonia que puedes enlazar a un modelo de vista. En estos dos entornos una página contiene un solo hijo, normalmente un panel o una cuadrícula. WinForms tiene TsgcWinFormsWizard con páginas contenedor, como en VCL.

Sí. TsgcVCLStepper, TsgcFMXStepper y los steppers de .NET son controles independientes con los mismos cinco estados. Colócalo sobre un formulario existente para un pago, un estado de pedido o el ciclo de vida de un ticket, establece ActiveIndex desde tu código y activa Clickable para que los usuarios vuelvan a un paso completado.

Sí. BackCaption, NextCaption, FinishCaption y CancelCaption son propiedades publicadas, así que se traducen con las herramientas de recursos habituales del IDE o se establecen en código. Se guardan solo cuando difieren del valor predeterminado, y los botones crecen con títulos más largos. Las etiquetas de los pasos salen de los títulos y las descripciones de las páginas.

El asistente y el stepper de VCL admiten Delphi 7 a 13 en Win32 y Win64, y C++ Builder 2007 a 13. La compatibilidad con FireMonkey empieza en Delphi XE6 para Windows, macOS, iOS, Android y Linux mediante FMXLinux. El renderizador sin ventana también compila para Linux64 desde Delphi 10.2.

Ayuda de sgcWizard

3,000+Desarrolladores
20+Años
761+Componentes
30+Integraciones de API
5Plataformas
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

Prueba sgcWizard hoy

La prueba de sgcUI incluye sgcWizard y todos los demás productos sgcUI.