Delphi, C++ Builder & .NET sgcUI 구성 제품

sgcWizard, Delphi, C++ Builder & .NET용 마법사와 스테퍼

설정, 온보딩, 결제 과정을 한 번에 한 단계씩 명확하게 안내하세요. 추가하는 모든 페이지가 스테퍼의 단계가 되고, 이전, 다음, 완료, 취소 버튼이 기본 제공되며, 이벤트 하나로 페이지가 올바를 때까지 이동을 막을 수 있습니다.

VCL, FireMonkey, WinForms, WPF, AvaloniaDelphi 7부터 13, C++ Builder 2007부터 13무료 .NET Community 에디션의 모든 기능 제공sgcUI Enterprise에 포함
스테퍼가 위에 있고 이전, 다음, 취소 버튼이 있는 4단계 중 2단계 Account의 온보딩 마법사

마법사에 필요한 모든 것

긴 폼을 사용자가 끝까지 완료하는 안내형 흐름으로 바꿔 주는 기능 12가지이며, 애플리케이션의 규칙과 모양을 따릅니다.

페이지, 단계, 규칙

마법사의 구조는 준비되어 있습니다. 페이지를 추가하고 규칙을 정하세요.

스테퍼가 내장된 여러 단계 폼

페이지, 단계, 규칙

스테퍼가 내장된 여러 단계 폼

긴 폼은 사용자를 압도하지만, 같은 필드를 몇 개의 명확한 단계로 나누면 끝까지 완료됩니다. TsgcVCLWizard는 각 페이지를 단계로 바꿉니다. AddPage는 페이지를 만들면서 스테퍼 밴드에 캡션, 설명 줄, 선택적 글리프를 가진 항목도 함께 만듭니다. 밴드는 사용자의 현재 위치와 남은 단계를 보여 주며 이전, 다음, 완료, 취소 바도 이미 있습니다. 각 페이지는 컨테이너이므로 일반 컨트롤로 내용을 디자인하며, 페이지가 열릴 때마다 마법사가 첫 번째 컨트롤로 포커스를 옮깁니다.

  • AddPage는 TsgcVCLWizardPage와 해당 단계를 만듭니다
  • Caption, Description, StepGlyph가 각 단계의 라벨이 됩니다
  • ActivePageIndex와 ActivePage로 코드에서 페이지를 직접 전환합니다
  • Next, Back, GoToPage는 버튼과 똑같이 이동합니다
도움말 항목 읽기

페이지, 단계, 규칙

페이지가 올바를 때까지 사용자를 멈추기

빈 이메일 주소로 요약에 도달하게 하면 오류의 원인이 된 필드에서 멀리 떨어진 뒤에 오류가 발생합니다. OnBeforePageChange는 사용자가 다음, 이전, 완료를 눌렀든, 단계를 클릭했든, 코드가 GoToPage를 호출했든 모든 이동 전에 발생합니다. 떠나는 페이지와 열리려는 페이지를 알려 주며 var aAllow 플래그로 이동을 막을 수 있습니다. 앞으로 이동하는 경우는 항상 대상 인덱스가 더 크므로 사용자가 무엇을 눌렀든 하나의 검사로 페이지를 검증합니다. 거부하면 아무것도 바뀌지 않으므로 이유를 보여 주고 필드에 포커스를 두면 됩니다.

  • OnBeforePageChange(Sender, aFromIndex, aToIndex, aAllow)로 모든 이동을 거부할 수 있습니다
  • aToIndex = PageCount는 사용자가 완료를 눌렀음을 뜻합니다
  • aToIndex < aFromIndex를 검사하면 뒤로 가는 이동은 통과시킵니다
  • OnPageChanged는 이동 후에 발생하며, 예를 들어 요약 페이지를 채울 때 사용합니다
도움말 항목 읽기
해당하지 않는 단계 건너뛰기

페이지, 단계, 규칙

해당하지 않는 단계 건너뛰기

실제 흐름에는 분기가 있습니다. 표준 배송을 고른 고객에게는 택배사 페이지가 필요 없고, 개인 계정에는 회사 단계가 없습니다. 페이지에 Skip을 설정하면 마법사에는 남아 있지만 다음과 이전이 그 페이지를 건너뛰고, 스테퍼는 그 단계를 점선 윤곽의 건너뜀 상태로 그리므로 사용자는 여전히 전체 여정을 볼 수 있습니다. Skip은 언제든 바뀔 수 있으며, 보통 앞 페이지의 체크 상자나 선택에 따라 달라집니다. 이동할 수 있는 이전 페이지가 없으면 이전 버튼이 자동으로 비활성화되므로 사용자가 자신과 무관한 페이지에 도착하는 일은 없습니다.

  • TsgcVCLWizardPage의 Skip은 해당 페이지를 경로에서 제외합니다
  • 건너뛴 단계는 wssSkipped 상태로 그려집니다
  • GoToPage는 건너뛰지 않은 페이지로만 이동합니다
  • Onboarding 데모는 체크 상자로 Options 페이지를 건너뜁니다
도움말 항목 읽기
완료와 취소는 사용자가 정한 대로 동작

페이지, 단계, 규칙

완료와 취소는 사용자가 정한 대로 동작

마법사는 보통 무언가를 저장하며 끝나고, 그 코드는 한곳에 있기를 원합니다. 마지막 페이지에서 다음 버튼은 완료 캡션을 표시하고 기본 버튼이 됩니다. 이를 누르거나 Enter를 누르거나 Finish를 호출하면 먼저 유효성 검사가 실행된 다음 OnFinish가 발생하며, 여기서 데이터를 저장하거나 폼을 닫거나 대화상자의 ModalResult를 설정합니다. 취소 버튼, Escape 키, Cancel 호출은 OnCancel을 발생시키므로 작업을 버리기 전에 확인할 수 있습니다. 마법사는 스스로 아무것도 닫지 않으므로 흐름은 사용자의 통제 아래 있습니다.

  • OnFinish는 OnBeforePageChange가 완료를 허용한 뒤에 실행됩니다
  • OnCancel은 취소 버튼, Escape 키, Cancel을 처리합니다
  • ShowCancel은 반드시 완료해야 하는 흐름에서 취소 버튼을 숨깁니다
  • FinishCaption은 마지막 다음 버튼의 텍스트를 설정합니다
도움말 항목 읽기

스스로 설명하는 스테퍼

진행 밴드는 사용자의 현재 위치, 완료된 것, 문제가 생긴 것을 알려 줍니다.

위, 왼쪽 또는 숨김 스테퍼

스스로 설명하는 스테퍼

위, 왼쪽 또는 숨김 스테퍼

짧은 흐름은 단계를 위쪽에 가로로 두는 것이 가장 읽기 좋고, 설명이 있는 긴 흐름은 설치 프로그램처럼 왼쪽 열에 두는 것이 더 잘 맞습니다. StepperPosition은 페이지를 건드리지 않고 밴드를 옮깁니다. wspTop은 높이 80 논리 픽셀의 가로 밴드를, wspLeft는 너비 200픽셀의 세로 밴드를 표시하고, wspNone은 일반 페이지형 대화상자를 위해 숨깁니다. 버튼 바는 아래쪽에 그대로 있습니다. Onboarding 데모에는 실행 중에 위치를 전환하는 콤보가 있어, 사용자의 콘텐츠로 세 가지 레이아웃을 몇 초 만에 비교할 수 있습니다.

  • StepperPosition은 wspTop, wspLeft, wspNone을 받습니다
  • 스테퍼의 Orientation은 woHorizontal 또는 woVertical입니다
  • CircleSize와 ConnectorThickness가 단계 표시와 선의 크기를 정합니다
  • ShowDescriptions는 각 라벨의 두 번째 줄을 표시하거나 숨깁니다
  • 아랍어와 히브리어를 위한 오른쪽에서 왼쪽 지원: 스테퍼의 위치, 단계 순서, 연결선, 화살표가 있는 이전 및 다음 버튼이 미러링됩니다
도움말 항목 읽기
색상으로 분명한 단계 상태

스스로 설명하는 스테퍼

색상으로 분명한 단계 상태

사용자는 스테퍼를 1초 만에 훑어보므로 각 상태가 분명해야 합니다. 대기 중인 단계는 흐린 번호가 있는 윤곽이고, 활성 단계는 부드러운 후광이 있는 강조색 원과 굵은 캡션이며, 완료된 단계는 체크 표시가 있고, 오류는 느낌표가 있는 빨간 원이며, 건너뛴 단계는 점선 윤곽입니다. AutoStates가 켜져 있으면 ActiveIndex를 설정할 때 그 앞의 단계는 완료되고 뒤의 단계는 대기 상태로 남으며, 오류와 건너뜀 상태는 유지됩니다. 애플리케이션이 모든 상태를 직접 결정한다면 AutoStates를 끄세요.

  • wssPending, wssActive, wssCompleted, wssError, wssSkipped
  • AutoStates는 ActiveIndex에서 상태를 도출합니다
  • 비활성 단계는 옅은 색으로 그려집니다
  • AccentColor는 활성 및 완료된 단계의 색을 바꿉니다
도움말 항목 읽기
결제 흐름을 위한 독립형 스테퍼

스스로 설명하는 스테퍼

결제 흐름을 위한 독립형 스테퍼

모든 프로세스가 마법사인 것은 아닙니다. 결제, 주문 상태 페이지, 티켓 수명 주기에는 페이지 없이 진행 표시기만 필요합니다. TsgcVCLStepper는 같은 밴드를 독립 컨트롤로 만든 것으로, 가로 또는 세로이며 캡션, 설명, 다섯 가지 상태를 지원합니다. Clickable을 설정하면 사용자가 클릭이나 화살표 키로 완료된 단계로 돌아갈 수 있고, OnStepClick으로 이동을 거부할 수 있습니다. Stepper 데모는 가로 스테퍼와 세로 스테퍼를 나란히 보여 주며, 활성 단계를 오류나 건너뜀으로 표시하는 버튼이 있습니다.

  • TsgcVCLStepper와 TsgcFMXStepper는 마법사 없이 동작합니다
  • Steps는 표준 컬렉션 편집기로 편집하는 컬렉션입니다
  • Clickable과 OnStepClick은 완료된 단계를 탐색 수단으로 바꿉니다
  • ActiveIndex로 코드에서 진행 상태를 옮깁니다
도움말 항목 읽기

애플리케이션에 맞춤

사용자의 언어, 디자이너, 테마, 프레임워크를 따릅니다.

모든 버튼에 원하는 문구

애플리케이션에 맞춤

모든 버튼에 원하는 문구

스페인어 애플리케이션의 영어 Next 버튼은 미완성처럼 보입니다. 버튼 바의 캡션 네 개는 기본값이 Back, Next, Finish, Cancel인 published 속성입니다. 오브젝트 인스펙터에서 설정하거나, 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과 버튼 바를 그리므로, 콘솔 프로그램, 서비스, 단위 테스트, 웹 서버도 같은 스테퍼를 이미지로 만들 수 있습니다. Linux64를 포함한 모든 플랫폼에서 빌드됩니다. 너비와 높이는 논리 픽셀이며 scale 배율로 선명한 이미지를 얻습니다. scale 2에서 640x100은 1280x200 PNG입니다.

  • sgcWizardSaveToPNG와 sgcWizardSaveToSVG는 파일 또는 스트림을 씁니다
  • sgcWizardRender는 임의의 sgcUICore 캔버스에 그립니다
  • sgcWizardSaveButtonBarToPNG와 sgcWizardSaveButtonBarToSVG는 버튼 바를 그립니다
  • .NET에서는 esegece.sgcWizard.Rendering 패키지가 Windows, Linux, macOS에서 PNG를 씁니다
도움말 항목 읽기

애플리케이션에 맞춤

WPF와 Avalonia에서 뷰 모델에 바인딩

WPF와 Avalonia 개발자는 코드 비하인드를 작성하는 대신 바인딩하기를 기대합니다. 이 호스트들에서 마법사, 페이지, 스테퍼의 사용자용 속성은 의존성 속성 또는 Avalonia 속성이므로 뷰 모델에 바인딩하고, 스타일에서 값을 받고, 애니메이션을 적용할 수 있습니다. ActivePageIndex는 다음, 이전, 단계 클릭 시 마법사가 스스로 값을 바꾸므로 기본적으로 TwoWay로 바인딩되며, 뷰 모델은 항상 현재 단계를 알 수 있습니다. WinForms 컨트롤은 일반 속성을 유지하며 세 호스트 모두 Delphi 이름을 사용합니다.

  • 페이지 및 스테퍼와 함께 제공되는 TsgcWpfWizard와 TsgcAvaloniaWizard
  • 바인딩 가능한 모든 속성의 ActivePageIndexProperty 같은 정적 필드
  • OnBeforePageChange 같은 이벤트는 Delphi 이름을 유지하는 델리게이트 속성입니다
  • WPF와 Avalonia에서 페이지는 자식 하나를 가지며, WinForms에서 페이지는 컨테이너입니다
도움말 항목 읽기

sgcWizard 동작 보기

sgcUI 제품군 데모 속의 sgcWizard: 내장 시뮬레이션 데이터로 오프라인에서 실행되는 완전한 애플리케이션입니다.

sgcWizard로 개발하는 사람들

온보딩과 첫 실행 설정

처음 몇 분이 새 사용자가 남을지를 결정합니다. 계정 생성, 환경설정, 요약을 짧은 페이지 네 개로 나누고, 사용자가 이동하기 전에 OnBeforePageChange에서 이름과 이메일을 검증하며, 기본값을 원하는 사용자를 위해 옵션 페이지를 건너뛰세요. 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용으로, OnboardingFMX는 Delphi FireMonkey용으로 제공되며, .NET 에디션에는 WinForms, WPF, Avalonia용 Onboarding과 Stepper가 있습니다.

Onboarding

Onboarding

Welcome, Account, Options, Summary의 네 페이지입니다. 이름과 이메일이 올바를 때까지 OnBeforePageChange가 다음을 거부하고, 체크 상자가 Options 페이지를 건너뛰며, OnPageChanged가 요약을 채우고 OnFinish가 이를 보여 줍니다. 테마 전환과 StepperPosition 콤보로 모든 레이아웃을 체험할 수 있습니다.

Stepper

Stepper

같은 다섯 단계를 가진 독립형 TsgcVCLStepper 컨트롤 두 개, 가로와 세로입니다. AutoStates가 활성 단계 앞의 단계를 완료 처리하고, 버튼이 단계를 오류 또는 건너뜀으로 표시하며, 완료된 단계를 클릭하면 두 스테퍼가 함께 뒤로 이동합니다.

OnboardingFMX

TsgcFMXWizard와 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)은 모든 기능을 제공하며 체험판 안내만 다릅니다.

sgcWizard .NET 구매 →

Registered, 체험판, Community 빌드 모두 sgcWizard의 모든 기능을 포함합니다. 체험판 안내만 다릅니다.

기능Community (무료)Registered 에디션
페이지와 스테퍼 밴드를 갖춘 마법사✓✓
OnBeforePageChange를 통한 유효성 검사✓✓
건너뛴 페이지와 다섯 가지 단계 상태✓✓
독립형 스테퍼✓✓
버튼 캡션, 라이트 및 다크 테마, 강조 색상✓✓
헤드리스 PNG 및 SVG 출력✓✓

지원 프레임워크 및 플랫폼

sgcWizard의 컴포넌트

TsgcVCLWizard와 TsgcVCLWizardPage

VCL 마법사와 그 페이지입니다. 컴포넌트 편집기가 SGC Wizard 팔레트 페이지에서 디자인 타임에 페이지를 추가합니다.

TsgcFMXWizard와 TsgcFMXWizardPage

Windows, macOS, iOS, Android, Linux(FMXLinux)의 FireMonkey용 같은 마법사입니다.

TsgcVCLStepper와 TsgcFMXStepper

모든 여러 단계 흐름을 위한 독립형 스테퍼 컨트롤이며 가로 또는 세로입니다.

TsgcStepperModel

두 컨트롤 뒤의 프레임워크 중립 모델로 단계, 상태, 레이아웃을 담당하며 헤드리스 출력을 위한 sgcWizardSaveToPNG와 sgcWizardSaveToSVG가 있습니다.

.NET 컨트롤

TsgcWinFormsWizard, TsgcWpfWizard, TsgcAvaloniaWizard이며 각각 페이지 및 스테퍼 클래스가 있습니다.

모든 언어의 데모 두 가지

유효성 검사가 있는 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 속성입니다. 이 두 호스트에서 페이지는 자식 하나를 가지며 보통 패널이나 그리드입니다. WinForms에는 VCL처럼 컨테이너 페이지를 가진 TsgcWinFormsWizard가 있습니다.

네. TsgcVCLStepper, TsgcFMXStepper, .NET 스테퍼는 같은 다섯 가지 상태를 가진 독립 컨트롤입니다. 결제, 주문 상태, 티켓 수명 주기를 위해 기존 폼 위에 두고, 코드에서 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 제품이 포함되어 있습니다.