Delphi, C++ Builder & .NET Fait partie de sgcUI

sgcEditors, les contrôles de saisie modernes pour Delphi, C++ Builder & .NET

Neuf champs de formulaire qui ont le même aspect sur chaque écran et se comportent comme des champs natifs : un calendrier avec de vraies règles de réservation, des sélecteurs de date et d'heure, un curseur à plage, un sélecteur de couleur, des pastilles, des étoiles et un champ numérique. Saisis une date dans ta propre langue, passe au thème sombre avec une seule propriété et lie les éditeurs à un jeu de données.

Neuf contrôles pour VCL, FireMonkey, WinForms, WPF, AvaloniaSaisie de texte native avec IME et presse-papiersÉdition .NET Community gratuiteInclus dans sgcUI Standard
Démo Gallery avec le calendrier mensuel, les sélecteurs de date, d'heure et de date et heure, le champ numérique, la notation, le curseur à plage, la saisie de jetons et le sélecteur de couleur

Des champs de saisie à la hauteur de tes fiches

Onze fonctionnalités qui rendent la saisie des dates, des plages, des couleurs et des étiquettes rapide et difficile à rater.

Les contrôles

Neuf champs de saisie qui couvrent les champs des vrais formulaires métier, chacun disponible pour VCL, FireMonkey et .NET.

Neuf champs de saisie modernes dans un seul paquet

Les contrôles

Neuf champs de saisie modernes dans un seul paquet

Les formulaires de réservation, les pages de paramètres et les filtres réclament toujours les mêmes champs : un calendrier, un sélecteur de date ou d'heure, un curseur, une couleur, une liste d'étiquettes, une note en étoiles et un nombre avec unités. sgcEditors te donne les neuf sous forme d'une famille cohérente. Chaque contrôle existe pour VCL et FireMonkey avec les mêmes propriétés publiées et les mêmes événements, et pour WinForms, WPF et Avalonia avec les mêmes noms, donc ce que tu apprends sur un contrôle vaut pour les autres. Ils partagent un seul thème, une seule couleur d'accentuation et un seul modèle de clavier. Dépose-les depuis la page SGC Editors de la palette et ils ont le bon aspect dès la première exécution.

  • TsgcVCLMonthCalendar, TsgcVCLDatePicker, TsgcVCLTimePicker, TsgcVCLDateTimePicker
  • TsgcVCLRangeSlider et TsgcVCLSpinEdit pour les nombres
  • TsgcVCLColorPicker, TsgcVCLTokenEdit, TsgcVCLRating
  • Tous descendent de TsgcVCLCustomEditor
Lire la rubrique d'aide
Un calendrier qui suit de vraies règles de réservation

Les contrôles

Un calendrier qui suit de vraies règles de réservation

Un hôtel, une clinique ou un guichet de location n'accepte jamais n'importe quelle date. Le calendrier mensuel sélectionne une date ou, avec SelectionMode sur esmRange, une plage de jours, et MaxRangeDays plafonne la longueur de cette plage. Les jours hors de MinDate et MaxDate, ceux listés dans DisabledDates, les DisabledWeekDays comme les week-ends et tout jour que ton gestionnaire OnIsDateDisabled refuse sont barrés et ne peuvent pas être choisis. Les numéros de semaine ISO 8601 et les vues mois, année et décennie aident les utilisateurs à sauter loin dans le temps. Le même calendrier alimente la liste déroulante des sélecteurs de date, donc les règles s'appliquent partout où une date est choisie.

  • SelectionMode : esmSingle ou esmRange
  • MinDate, MaxDate et MaxRangeDays
  • DisabledDates, DisabledWeekDays, OnIsDateDisabled
  • ShowWeekNumbers pour les numéros de semaine ISO
Lire la rubrique d'aide
Plages de prix et de dates avec deux poignées

Les contrôles Enregistrée uniquement

Plages de prix et de dates avec deux poignées

Les filtres de prix, de poids ou de distance se lisent mieux comme une plage sur un rail. Le curseur à plage choisit une valeur entre Min et Max avec une poignée, ou une plage avec deux poignées en RangeMode, à l'horizontale ou à la verticale. Il dessine des graduations, des libellés et une info-bulle avec la valeur au-dessus de la poignée déplacée, et un clic sur le rail déplace la poignée la plus proche. Les poignées ne se croisent jamais, Step cale les valeurs et MinRange garde un écart minimal, donc le filtre ne peut jamais devenir vide par accident. Les valeurs et les libellés suivent les paramètres régionaux du contrôle, séparateurs décimaux et de milliers compris.

  • RangeMode avec Value et EndValue
  • Min, Max, Step et MinRange
  • TickInterval, ShowLabels, ShowValueTip
  • LabelFormat ou OnFormatLabel pour les devises

Community : une seule poignée est dessinée et modifiable ; EndValue est conservée mais pas affichée.

Lire la rubrique d'aide
Étiquettes et pastilles avec saisie semi-automatique

Les contrôles Enregistrée uniquement

Étiquettes et pastilles avec saisie semi-automatique

Les étiquettes, les destinataires et les compétences sont des listes, pas une seule ligne de texte. La saisie de jetons dessine chaque entrée comme une pastille avec un bouton de suppression, renvoie les pastilles à la ligne et défile quand elles ne tiennent pas. Un délimiteur, Entrée, Tab ou la perte du focus transforme le texte saisi en pastille, et coller a, b, c en fait trois. OnValidateToken normalise ou refuse chaque entrée, et AllowDuplicates, CaseSensitive et MaxTokens fixent les règles. Dans les versions Registered, une liste de saisie semi-automatique propose des entrées pendant la frappe. AddToken, RemoveToken et Clear modifient la liste depuis le code quand tu charges ou enregistres une fiche.

  • Tokens contient les pastilles ; Delimiters en termine une
  • OnValidateToken et InvalidTokens vérifient chaque entrée
  • AutoCompleteItems et AutoCompleteMinChars pour les suggestions
  • OnTokenAdded et OnTokenRemoved signalent les changements

Community : les pastilles, la validation et les limites fonctionnent ; la liste de saisie semi-automatique ne s'ouvre jamais.

Lire la rubrique d'aide

Les contrôles Enregistrée uniquement

Choisis n'importe quelle couleur, avec alpha

Les éditeurs de thème, les réglages de graphiques et les concepteurs d'étiquettes ont besoin de plus qu'une palette fixe. Le sélecteur de couleur empile une grille de nuanciers, un carré saturation et valeur, une barre de teinte, une barre alpha et une ligne avec un aperçu et un champ hexadécimal, et Parts choisit lesquels apparaissent. Le champ hexadécimal accepte #RGB, #RGBA, #RRGGBB et #RRGGBBAA. Le sélecteur garde la teinte à part de la couleur, donc un gris conserve sa teinte et le carré ne saute jamais pendant le glissement. Définis ta palette de marque comme nuanciers et les utilisateurs gardent le sélecteur complet à un clic.

  • Parts avec ecpSwatches, ecpHSV, ecpAlpha, ecpHex
  • Swatches et SwatchColumns pour ta palette
  • SelectedColor comme valeur ARGB
  • OnChangeComplete quand l'utilisateur relâche la souris

Community : nuanciers et hexadécimal seulement ; le carré HSV et la barre alpha ne sont pas dessinés et l'alpha vaut toujours $FF.

Lire la rubrique d'aide

Saisie, langue et données

Une saisie rapide pour les utilisateurs au clavier, la bonne langue pour chaque utilisateur et un lien direct vers tes jeux de données.

Saisie, langue et données

De la vraie frappe, pas seulement des clics

Les opérateurs de saisie tapent les dates, ils ne cliquent pas dans des calendriers. Chaque champ de texte de sgcEditors est un vrai contrôle d'édition de la plateforme, donc la composition IME pour le japonais, le chinois et le coréen, le presse-papiers, l'annulation, le menu contextuel et les lecteurs d'écran fonctionnent tous. L'analyse est tolérante : barres obliques, traits d'union, points, deux-points, virgules ou espaces séparent les champs, les noms de mois et de jours des paramètres régionaux sont compris et les années à deux chiffres sont ramenées au bon siècle. Haut et Bas font défiler le segment sous le curseur, et un texte illisible déclenche OnParseError.

  • DisplayFormat avec les segments d, m, y, h, n, s
  • OnParseError pour accepter ou refuser une saisie inhabituelle
  • AllowEmpty et TextHint pour les champs facultatifs
  • Le champ numérique accepte . et , comme séparateur décimal
Lire la rubrique d'aide
Chaque contrôle parle la langue de l'utilisateur

Saisie, langue et données

Chaque contrôle parle la langue de l'utilisateur

Les équipes internationales et les produits multilingues ont besoin de dates qui se lisent naturellement pour chaque utilisateur. Chaque contrôle a ses propres FormatSettings, remplis depuis les paramètres régionaux de l'utilisateur et modifiables à l'exécution, donc deux contrôles d'une même fiche peuvent même utiliser deux langues. Le calendrier et les sélecteurs y prennent les noms de jours et de mois, les formats de date et d'heure, les chaînes AM et PM et les séparateurs. FirstDayOfWeek et WeekNumbering suivent les paramètres régionaux ou ton choix, et les nombres utilisent les bons séparateurs décimaux et de milliers. Les unités, les infobulles et les noms accessibles restent tes propres propriétés, donc tu les traduis avec le reste de la fiche.

  • FormatSettings par contrôle
  • FirstDayOfWeek : efdLocale ou efdMonday forcé
  • WeekNumbering : ewnISO8601 par défaut
  • TsgcEditorLocale pour les modèles sans interface
  • De droite à gauche pour l'arabe et l'hébreu : les boutons d'incrément, de liste déroulante et d'effacement passent de l'autre côté, les curseurs, les notes et le calendrier s'écoulent depuis la droite, et le champ de saisie se lit de droite à gauche
Lire la rubrique d'aide
Des versions liées aux données pour tes fiches

Saisie, langue et données Enregistrée uniquement

Des versions liées aux données pour tes fiches

La plupart des fiches métier Delphi reposent sur un TDataSet, et câbler chaque éditeur à la main est répétitif. Cinq contrôles liés aux données se lient directement à un champ via DataSource et DataField : un sélecteur de date, un sélecteur d'heure, un champ numérique, une notation et un curseur à plage dont la seconde poignée se lie à EndDataField. Les champs nuls s'affichent vides quand AllowEmpty est activé. Ils se lient via TsgcEditorFieldLink, qui n'utilise que l'unité DB, donc les versions FireMonkey n'ont pas besoin de LiveBindings. En .NET, les contrôles ordinaires se lient avec la liaison de données de chaque framework. Dépose-les sur une fiche existante et la logique de jeu de données que tu as déjà continue de fonctionner sans changement.

  • TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit
  • TsgcVCLDBRating et TsgcVCLDBRangeSlider
  • DataSource, DataField, EndDataField
  • WPF : les propriétés de valeur se lient dans les deux sens

Community : les unités liées aux données sont vides ; la liaison de données .NET des contrôles ordinaires fonctionne dans les deux éditions.

Lire la rubrique d'aide

Clavier, DPI et thèmes

Les détails que vérifient les relecteurs : aucune souris nécessaire, net sur chaque écran et un aspect qui correspond à ton application.

Net sur chaque écran

Clavier, DPI et thèmes

Net sur chaque écran

Les portables à 150 pour cent à côté d'écrans externes à 100 pour cent sont courants aujourd'hui, et des champs flous font cheap. sgcEditors dispose chaque contrôle en pixels logiques à 96 DPI et le dessine à l'échelle de l'écran, sans rien à faire dans ton code. Quand une fiche VCL passe sur un moniteur avec un autre DPI, le champ interne et sa police s'adaptent avec le contrôle, et une liste déroulante est dessinée au DPI du moniteur sur lequel elle s'ouvre. Les images FireMonkey suivent l'échelle de la scène pour Retina et Android.

  • Disposition en pixels logiques, dessin à l'échelle de l'écran
  • Les champs internes se redimensionnent sur WM_DPICHANGED
  • Les listes déroulantes utilisent le DPI de leur propre moniteur
  • SaveToPNG accepte une échelle pour des images nettes
Lire la rubrique d'aide
Compatible clavier et lecteurs d'écran

Clavier, DPI et thèmes

Compatible clavier et lecteurs d'écran

Aucune fonction de sgcEditors ne demande une souris. Les contrôles dessinés prennent eux-mêmes le focus et les contrôles de texte le transmettent à leur champ interne, et un contrôle qui a le focus dessine un anneau de focus de 2 pixels dans la couleur d'accentuation. Dans le calendrier, les flèches avancent d'un jour ou d'une semaine et sautent les jours désactivés, PageUp et PageDown avancent d'un mois, et Maj étend une plage. Dans les sélecteurs, F4 ou Alt+Bas ouvre la liste déroulante et Échap restaure la valeur. Le champ numérique avance avec Haut, Bas, PageUp et PageDown.

  • F4 ou Alt+Bas ouvre chaque liste déroulante
  • Ctrl+Haut fait passer le calendrier aux années et aux décennies
  • Increment et LargeIncrement pour le champ numérique
  • Les champs natifs gardent les lecteurs d'écran fonctionnels
Lire la rubrique d'aide
Clair et sombre avec une seule propriété

Clavier, DPI et thèmes

Clair et sombre avec une seule propriété

Les fiches paraissent abouties quand chaque champ suit le même thème. Chaque contrôle a un Theme, un AccentColor et un TextStyle, et les couleurs du cadre, du survol, de l'état appuyé, de la sélection et de l'état désactivé en sont dérivées, donc une seule propriété change tout l'aspect. Les jetons sont ceux de tous les produits sgcUI, donc des éditeurs placés dans une tuile sgcDashboard ou sous un sgcToolbar s'accordent sans travail supplémentaire. Un contrôle désactivé se fond de lui-même dans l'arrière-plan. Change le thème à l'exécution et chaque éditeur se redessine, prêt pour un réglage de mode sombre.

  • Theme : utDefault (par défaut, suit le thème de l'application), utLight ou utDark
  • AccentColor pour la sélection, les poignées, le remplissage et l'anneau de focus
  • TextStyle pour la taille, le gras et la couleur
  • Les mêmes jetons de thème que toute la suite sgcUI
Lire la rubrique d'aide

Découvre sgcEditors en action

sgcEditors dans les démos de la suite sgcUI : des applications complètes qui fonctionnent hors ligne avec des données simulées intégrées.

Qui construit avec sgcEditors

Formulaires de réservation

Un formulaire de réservation a besoin d'une plage de séjour qui respecte les jours de fermeture, d'un nombre de personnes, d'une heure d'arrivée et peut-être d'une note pour la dernière visite. Le calendrier mensuel applique MinDate, MaxRangeDays et les jours désactivés, le champ numérique compte les personnes, le sélecteur d'heure accepte les heures saisies et la notation recueille l'avis, le tout dans un seul thème. La démo BookingForm construit une réservation d'hôtel avec sept éditeurs et un récapitulatif en direct.

  • Plages du calendrier
  • Champ numérique
  • Notation
Lance la démo BookingForm

Saisie de données sur TDataSet

Les applications métier modifient des enregistrements toute la journée. Les cinq éditeurs liés aux données se lient à un champ de TDataSet via DataSource et DataField, le curseur à plage lie les deux extrémités et les champs nuls s'affichent vides. Associés à une vraie saisie au clavier et à l'analyse tolérante, les opérateurs saisissent vite les valeurs et le jeu de données reçoit des données propres. La démo DataAware place les cinq éditeurs sur un TClientDataSet à côté d'un TDBGrid et d'un TDBNavigator.

  • Éditeurs liés aux données
  • Saisie de texte
  • Clavier
Lance la démo DataAware

Applications de planification internationales

Les outils de planification utilisés dans plusieurs pays doivent afficher le bon début de semaine, les bons numéros de semaine et les bons noms de mois à chaque utilisateur. Chaque contrôle porte ses propres FormatSettings, donc une même fiche peut afficher un calendrier allemand à côté d'un anglais, et FirstDayOfWeek et WeekNumbering suivent les paramètres régionaux ou ta règle. La démo Calendar bascule entre anglais, allemand, espagnol, français et italien avec une plage limitée à 14 jours.

  • Localisation
  • Numéros de semaine
  • Jours désactivés
Lance la démo Calendar

Un formulaire d'avis en quelques lignes

La même API en Delphi, C++ Builder et C# : une notation, un curseur à plage et une saisie de jetons, qui signalent tous leurs changements via OnChange.

uses
  SysUtils, Classes, Controls, Forms, StdCtrls,
  sgcEditors_Types, sgcEditors_VCL_Value, sgcEditors_VCL_Token;

type
  TFeedbackForm = class(TComponent)
  public
    Stars: TsgcVCLRating;
    Budget: TsgcVCLRangeSlider;
    Tags: TsgcVCLTokenEdit;
    Summary: TLabel;
    procedure EditorChange(Sender: TObject);
  end;

procedure TFeedbackForm.EditorChange(Sender: TObject);
begin
  // OnChange fires for every new value: clicked, dragged or typed
  Summary.Caption := Format('%.1f stars, budget %.0f to %.0f, %d tags',
    [Stars.Value, Budget.Value, Budget.EndValue, Tags.Tokens.Count]);
end;

function CreateFeedbackForm(aForm: TForm): TFeedbackForm;
begin
  Result := TFeedbackForm.Create(aForm);
  Result.Stars := TsgcVCLRating.Create(aForm);
  Result.Stars.Parent := aForm;
  Result.Stars.SetBounds(16, 16, 200, 32);
  Result.Stars.Glyph := ergHeart;
  Result.Stars.Precision := erpHalf;
  Result.Stars.Value := 3.5;
  Result.Stars.OnChange := Result.EditorChange;
  Result.Budget := TsgcVCLRangeSlider.Create(aForm);
  Result.Budget.Parent := aForm;
  Result.Budget.SetBounds(16, 60, 320, 48);
  Result.Budget.Max := 500;
  Result.Budget.Step := 10;
  Result.Budget.RangeMode := True;
  Result.Budget.Value := 80;
  Result.Budget.EndValue := 240;
  Result.Budget.ShowLabels := True;
  Result.Budget.OnChange := Result.EditorChange;
  Result.Tags := TsgcVCLTokenEdit.Create(aForm);
  Result.Tags.Parent := aForm;
  Result.Tags.SetBounds(16, 120, 320, 64);
  Result.Tags.TextHint := 'Add a tag';
  Result.Tags.AutoCompleteItems.CommaText := 'Breakfast,Parking,Pool';
  Result.Tags.AddToken('Breakfast');
  Result.Tags.OnChange := Result.EditorChange;
  Result.Summary := TLabel.Create(aForm);
  Result.Summary.Parent := aForm;
  Result.Summary.SetBounds(16, 196, 320, 20);
  Result.EditorChange(nil);
end;
#include <vcl.h>
#include "sgcEditors_Types.hpp"
#include "sgcEditors_VCL_Value.hpp"
#include "sgcEditors_VCL_Token.hpp"

class TFeedbackHandler : public TObject
{
public:
  TsgcVCLRating *Stars;
  TsgcVCLRangeSlider *Budget;
  TsgcVCLTokenEdit *Tags;
  TLabel *Summary;
  void __fastcall EditorChange(TObject *Sender);
};

void __fastcall TFeedbackHandler::EditorChange(TObject *Sender)
{
  // OnChange fires for every new value: clicked, dragged or typed
  Summary->Caption = FormatFloat("0.0", Stars->Value) + " stars, budget " +
    FormatFloat("0", Budget->Value) + " to " + FormatFloat("0", Budget->EndValue) +
    ", " + IntToStr(Tags->Tokens->Count) + " tags";
}

TFeedbackHandler * __fastcall CreateFeedbackForm(TForm *Form)
{
  TFeedbackHandler *H = new TFeedbackHandler();
  H->Stars = new TsgcVCLRating(Form);
  H->Stars->Parent = Form;
  H->Stars->SetBounds(16, 16, 200, 32);
  H->Stars->Glyph = ergHeart;
  H->Stars->Precision = erpHalf;
  H->Stars->Value = 3.5;
  H->Stars->OnChange = H->EditorChange;
  H->Budget = new TsgcVCLRangeSlider(Form);
  H->Budget->Parent = Form;
  H->Budget->SetBounds(16, 60, 320, 48);
  H->Budget->Max = 500;
  H->Budget->Step = 10;
  H->Budget->RangeMode = true;
  H->Budget->Value = 80;
  H->Budget->EndValue = 240;
  H->Budget->ShowLabels = true;
  H->Budget->OnChange = H->EditorChange;
  H->Tags = new TsgcVCLTokenEdit(Form);
  H->Tags->Parent = Form;
  H->Tags->SetBounds(16, 120, 320, 64);
  H->Tags->TextHint = "Add a tag";
  H->Tags->AutoCompleteItems->CommaText = "Breakfast,Parking,Pool";
  H->Tags->AddToken("Breakfast");
  H->Tags->OnChange = H->EditorChange;
  H->Summary = new TLabel(Form);
  H->Summary->Parent = Form;
  H->Summary->SetBounds(16, 196, 320, 20);
  H->EditorChange(NULL);
  return H;
}
using System;
using System.Drawing;
using System.Windows.Forms;
using esegece.sgcUICore;
using esegece.sgcEditors;

public class FeedbackForm : Form
{
    private readonly TsgcWinFormsRating stars;
    private readonly TsgcWinFormsRangeSlider budget;
    private readonly TsgcWinFormsTokenEdit tags;
    private readonly Label summary = new Label { Location = new Point(12, 196), Size = new Size(320, 20) };

    public FeedbackForm()
    {
        ClientSize = new Size(360, 230);
        stars = new TsgcWinFormsRating { Location = new Point(12, 12), Size = new Size(200, 32) };
        stars.Glyph = TsgcEditorRatingGlyph.ergHeart;
        stars.Precision = TsgcEditorRatingPrecision.erpHalf;
        stars.Value = 3.5;

        budget = new TsgcWinFormsRangeSlider { Location = new Point(12, 56), Size = new Size(320, 48) };
        budget.BeginInit();
        budget.Max = 500;
        budget.Step = 10;
        budget.RangeMode = true;
        budget.Value = 80;
        budget.EndValue = 240;
        budget.EndInit();
        budget.ShowLabels = true;

        tags = new TsgcWinFormsTokenEdit { Location = new Point(12, 116), Size = new Size(320, 64) };
        tags.TextHint = "Add a tag";
        foreach (string s in new[] { "Breakfast", "Parking", "Pool" })
            tags.AutoCompleteItems.Add(s);
        tags.Tokens.Add("Breakfast");

        // OnChange fires for every new value: clicked, dragged or typed
        foreach (TsgcWinFormsCustomEditor e in new TsgcWinFormsCustomEditor[] { stars, budget, tags })
        {
            e.OnChange = s => ShowSummary();
            Controls.Add(e);
        }
        Controls.Add(summary);
        ShowSummary();
    }

    private void ShowSummary() =>
        summary.Text = $"{stars.Value:0.0} stars, budget {budget.Value:0} to {budget.EndValue:0}, {tags.Tokens.Count} tags";
}
dotnet add package esegece.sgcEditors.WinForms

Lance les démos de sgcEditors

Gallery, Calendar, BookingForm et DataAware sont fournies pour VCL et C++ Builder, avec GalleryFMX pour FireMonkey ; l'édition .NET propose Gallery pour WinForms, WPF et Avalonia, BookingForm et BindingWpf.

Calendar

Calendar

Une plage de 14 jours au plus, des numéros de semaine, des week-ends et des jours fériés désactivés, et un changement de langue entre anglais, allemand, espagnol, français et italien.

BookingForm

Une réservation d'hôtel construite avec sept éditeurs et un récapitulatif en direct du séjour, des personnes et de l'heure d'arrivée. Elle montre comment les contrôles fonctionnent ensemble dans une vraie fiche.

DataAware

Enregistrée uniquement DataAware

Les cinq éditeurs liés aux données sur un TClientDataSet avec un TDBGrid et un TDBNavigator. Les contrôles liés aux données demandent l'édition Enregistrée ou l'essai.

GalleryFMX

La galerie construite avec les éditeurs FireMonkey, pour Windows et Android, avec les mêmes propriétés et événements que les contrôles VCL.

Démos compilées

Des exécutables prêts à lancer pour chaque produit sgcUI, rien à installer.

Télécharger sgcUI_bin.zip →

Où sgcEditors est inclus

sgcEditors est dans toutes les éditions sgcUI, et il est aussi vendu seul. sgcEditors est également inclus dans le pack All-Access.

sgcEditors, package seul

€199 / développeur, code source complet, 1 an de mises à jour.

Acheter sgcEditors → Voir les tarifs →

sgcUI Standard

sgcEditors, sgcGrid, sgcNavigation et sgcToolbar, à partir de €380.

Voir Standard →

sgcUI Professional

Standard plus sgcCharts, sgcDashboard et sgcGauges, à partir de €529.

Voir Professional →

sgcUI Enterprise

Les 14 produits sgcUI, à partir de €699.

Voir Enterprise →

L'édition Community gratuite (esegece.sgcEditors.Community sur NuGet) comprend les neuf contrôles, mais le sélecteur de couleur n'a ni carré HSV ni barre alpha, la saisie de jetons n'a pas de liste de saisie semi-automatique, le curseur à plage n'a qu'une poignée, et il n'y a pas d'éditeurs liés aux données.

FonctionnalitéCommunity (gratuite)Enregistrée
Les neuf contrôles pour VCL, FireMonkey et .NET✓✓
Saisie de texte native, analyse tolérante, localisation✓✓
Plages du calendrier, limites et jours désactivés✓✓
Clavier, DPI, thèmes et rendu sans interface✓✓
Curseur à plage à deux poignées−✓
Carré HSV et barre alpha du sélecteur de couleur−✓
Liste de saisie semi-automatique de la saisie de jetons−✓
Éditeurs liés aux données (Delphi et C++ Builder)−✓

Frameworks et plateformes pris en charge

Composants de sgcEditors

Chaque contrôle existe pour VCL, FireMonkey, WinForms, WPF et Avalonia avec les mêmes propriétés et événements.

ContrôleVCL et C++ BuilderFireMonkey.NET
Calendrier mensuelTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
Sélecteur de dateTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
Sélecteur d'heureTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
Sélecteur de date et heureTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
Curseur à plageTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
Sélecteur de couleurTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
Saisie de jetonsTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
NotationTsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
Champ numériqueTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit

La colonne .NET montre les noms WinForms, les mêmes contrôles existent pour WPF et Avalonia avec les préfixes TsgcWpf et TsgcAvalonia. Assistants non visuels : TsgcEditorModel, TsgcEditorLocale et TsgcEditorFieldLink. Les éditeurs liés aux données (TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit, TsgcVCLDBRating et TsgcVCLDBRangeSlider, plus leurs jumeaux FireMonkey) sont réservés à l'édition Enregistrée et existent pour Delphi et C++ Builder.

CibleComposantPlateformes
Delphi 7 à 13, VCLÉditeurs TsgcVCLWin32, et Win64 à partir de XE2
Delphi XE6 à 13, FireMonkeyÉditeurs TsgcFMXWindows, macOS, iOS et Android
C++ Builder 2007 à 13Éditeurs TsgcVCL et TsgcFMXEn-têtes .hpp générés et bibliothèques statiques
Delphi 10.2 à 13, indépendant du frameworkModèles et rendu PNG et SVG sans interfaceLinux64 (pas de contrôles Linux)
.NET Framework 4.7.2, .NET 8, 9 et 10Éditeurs WinForms, WPF et AvaloniaBureau Windows et cibles Avalonia

Foire aux questions

Oui. Chaque champ de texte est un vrai contrôle d'édition de la plateforme, un TEdit sans bordure en VCL et un TEdit FMX en FireMonkey, donc la composition IME pour le japonais, le chinois et le coréen, le presse-papiers, l'annulation, le menu contextuel et les lecteurs d'écran fonctionnent sans code spécial. Voir Saisie de texte et IME.

Oui. MinDate et MaxDate fixent les limites, DisabledDates liste les jours fériés, DisabledWeekDays bloque les week-ends et OnIsDateDisabled décide de toute autre règle. Les jours désactivés sont barrés, sautés par le clavier et refusés quand on les saisit dans un sélecteur. La démo Calendar bloque les week-ends et deux jours fériés pour montrer les règles à l'œuvre.

Cinq, en Delphi et C++ Builder : le sélecteur de date, le sélecteur d'heure, le champ numérique, la notation et le curseur à plage, chacun en contrôle VCL et FireMonkey. Ils demandent l'édition Enregistrée ou l'essai. En .NET, les contrôles ordinaires se lient avec la liaison de données de WinForms, WPF et Avalonia, dans les deux éditions.

Les neuf contrôles sont inclus. Community laisse de côté le carré HSV et la barre alpha du sélecteur de couleur, la liste de saisie semi-automatique de la saisie de jetons et la seconde poignée du curseur à plage. Les éditeurs Delphi liés aux données sont réservés à l'édition Enregistrée. Voir Éditions.

Oui. Chaque contrôle garde sa propre copie de FormatSettings, donc les noms de jours et de mois, les formats, les séparateurs et le premier jour de la semaine peuvent différer d'un contrôle à l'autre. La démo Calendar bascule entre anglais, allemand, espagnol, français et italien à l'exécution, et les numéros de semaine suivent ISO 8601 sauf choix contraire.

Pour les dates et les heures, oui : TsgcVCLDatePicker, TsgcVCLTimePicker et TsgcVCLDateTimePicker sont des champs typés avec un calendrier ou une liste d'heures déroulants. En plus, ils analysent les noms de mois de façon tolérante, respectent les limites et les jours désactivés, suivent le thème sgcUI et sont dessinés au DPI de chaque moniteur.

Oui. C++ Builder 2007 et 2010 à 13 utilisent les mêmes contrôles VCL et FireMonkey via des en-têtes et des bibliothèques générés, et chaque démo Delphi, DataAware comprise, est aussi fournie comme projet C++ Builder. L'onglet de code de cette page montre la même fiche en Delphi, C++ Builder et C#, et chaque exemple a été compilé avant d'être publié.

Aide de sgcEditors

3,000+Développeurs
20+Ans
761+Composants
30+Intégrations d'API
5Plateformes
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement

Essaie sgcEditors dès aujourd'hui

L'essai sgcUI inclut sgcEditors et tous les autres produits sgcUI.