Delphi, C++ Builder & .NET Część sgcUI

sgcEditors, nowoczesne kontrolki wprowadzania danych dla Delphi, C++ Builder & .NET

Dziewięć pól formularza, które wyglądają tak samo na każdym monitorze i zachowują się jak natywne edytory: kalendarz z prawdziwymi regułami rezerwacji, selektory daty i czasu, suwak zakresu, selektor koloru, chipy, gwiazdki i pole liczbowe. Wpisz datę w swoim języku, przełącz na ciemny motyw jedną właściwością i powiąż edytory ze zbiorem danych.

Dziewięć kontrolek dla VCL, FireMonkey, WinForms, WPF, AvaloniaNatywne wpisywanie tekstu z IME i schowkiemBezpłatna edycja .NET CommunityW sgcUI Standard
Demo Gallery z kalendarzem miesięcznym, selektorami daty, czasu i daty z czasem, polem liczbowym, oceną, suwakiem zakresu, edytorem tokenów i selektorem koloru

Pola wprowadzania, na jakie zasługują Twoje formularze

Jedenaście funkcji, dzięki którym daty, zakresy, kolory i tagi wpisuje się szybko i trudno się w nich pomylić.

Kontrolki

Dziewięć pól pokrywających pola prawdziwych formularzy biznesowych, każde dostępne dla VCL, FireMonkey i .NET.

Dziewięć nowoczesnych pól w jednym pakiecie

Kontrolki

Dziewięć nowoczesnych pól w jednym pakiecie

Formularze rezerwacji, strony ustawień i filtry ciągle potrzebują tych samych pól: kalendarza, selektora daty lub czasu, suwaka, koloru, listy tagów, oceny gwiazdkami i liczby z jednostkami. sgcEditors daje Ci wszystkie dziewięć jako spójną rodzinę. Każda kontrolka istnieje dla VCL i FireMonkey z tymi samymi opublikowanymi właściwościami i zdarzeniami oraz dla WinForms, WPF i Avalonia z tymi samymi nazwami, więc to, czego nauczysz się na jednej kontrolce, dotyczy pozostałych. Dzielą jeden motyw, jeden kolor akcentu i jeden model klawiatury. Upuść je ze strony SGC Editors palety, a od pierwszego uruchomienia wyglądają dobrze.

  • TsgcVCLMonthCalendar, TsgcVCLDatePicker, TsgcVCLTimePicker, TsgcVCLDateTimePicker
  • TsgcVCLRangeSlider i TsgcVCLSpinEdit dla liczb
  • TsgcVCLColorPicker, TsgcVCLTokenEdit, TsgcVCLRating
  • Wszystkie dziedziczą po TsgcVCLCustomEditor
Przeczytaj temat pomocy
Kalendarz, który stosuje prawdziwe reguły rezerwacji

Kontrolki

Kalendarz, który stosuje prawdziwe reguły rezerwacji

Hotel, przychodnia czy wypożyczalnia nigdy nie przyjmuje dowolnej daty. Kalendarz miesięczny wybiera jedną datę albo, gdy SelectionMode ma wartość esmRange, zakres dni, a MaxRangeDays ogranicza jego długość. Dni poza MinDate i MaxDate, dni z listy DisabledDates, DisabledWeekDays takie jak weekendy oraz każdy dzień odrzucony przez Twoją procedurę OnIsDateDisabled są rysowane jako przekreślone i nie można ich wybrać. Numery tygodni ISO 8601 oraz widoki miesiąca, roku i dekady pomagają szybko skoczyć daleko do przodu. Ten sam kalendarz napędza rozwijaną listę selektorów daty, więc reguły działają wszędzie tam, gdzie wybiera się datę.

  • SelectionMode: esmSingle lub esmRange
  • MinDate, MaxDate i MaxRangeDays
  • DisabledDates, DisabledWeekDays, OnIsDateDisabled
  • ShowWeekNumbers dla numerów tygodni ISO
Przeczytaj temat pomocy
Zakresy cen i dat z dwoma uchwytami

Kontrolki Tylko zarejestrowana

Zakresy cen i dat z dwoma uchwytami

Filtry ceny, wagi lub odległości najlepiej czytają się jako zakres na szynie. Suwak zakresu wybiera wartość między Min i Max jednym uchwytem lub zakres dwoma uchwytami w RangeMode, poziomo lub pionowo. Rysuje znaczniki, etykiety i dymek z wartością nad przeciąganym uchwytem, a kliknięcie szyny przesuwa tam najbliższy uchwyt. Uchwyty nigdy się nie krzyżują, Step przyciąga wartości, a MinRange utrzymuje minimalny odstęp, więc filtr nigdy nie stanie się przypadkiem pusty. Wartości i etykiety podążają za ustawieniami regionalnymi kontrolki, łącznie z separatorami dziesiętnymi i tysięcy.

  • RangeMode z Value i EndValue
  • Min, Max, Step i MinRange
  • TickInterval, ShowLabels, ShowValueTip
  • LabelFormat lub OnFormatLabel dla walut

Community: rysowany i edytowany jest jeden uchwyt; EndValue jest zachowane, ale niepokazywane.

Przeczytaj temat pomocy
Tagi i chipy z autouzupełnianiem

Kontrolki Tylko zarejestrowana

Tagi i chipy z autouzupełnianiem

Tagi, odbiorcy i umiejętności to listy, a nie jedna linia tekstu. Edytor tokenów rysuje każdy wpis jako chip z przyciskiem usuwania, zawija chipy i przewija je, gdy się nie mieszczą. Ogranicznik, Enter, Tab lub utrata fokusu zamienia wpisany tekst w chip, a wklejenie a, b, c tworzy trzy. OnValidateToken normalizuje lub odrzuca każdy wpis, a AllowDuplicates, CaseSensitive i MaxTokens ustawiają reguły. W wersjach Zarejestrowanych lista autouzupełniania podpowiada wpisy w trakcie pisania. AddToken, RemoveToken i Clear zmieniają listę z kodu przy wczytywaniu lub zapisie rekordu.

  • Tokens przechowuje chipy; Delimiters kończy jeden
  • OnValidateToken i InvalidTokens sprawdzają każdy wpis
  • AutoCompleteItems i AutoCompleteMinChars dla podpowiedzi
  • OnTokenAdded i OnTokenRemoved zgłaszają zmiany

Community: chipy, walidacja i limity działają; lista autouzupełniania nigdy się nie otwiera.

Przeczytaj temat pomocy

Kontrolki Tylko zarejestrowana

Wybierz dowolny kolor, z przezroczystością

Edytory motywów, ustawienia wykresów i projektanci etykiet potrzebują więcej niż stałej palety. Selektor koloru układa siatkę próbek, kwadrat nasycenia i wartości, pasek odcienia, pasek alfa oraz wiersz z podglądem i polem hex, a Parts wybiera, które z nich się pojawiają. Pole hex przyjmuje #RGB, #RGBA, #RRGGBB i #RRGGBBAA. Selektor trzyma odcień osobno od koloru, więc szarość zachowuje swój odcień, a kwadrat nigdy nie skacze podczas przeciągania. Zdefiniuj paletę swojej marki jako próbki, a użytkownicy nadal mają pełny selektor o jedno kliknięcie dalej.

  • Parts z ecpSwatches, ecpHSV, ecpAlpha, ecpHex
  • Swatches i SwatchColumns dla Twojej palety
  • SelectedColor jako wartość ARGB
  • OnChangeComplete, gdy użytkownik puści mysz

Community: tylko próbki i hex; kwadrat HSV i pasek alfa nie są rysowane, a alfa to zawsze $FF.

Przeczytaj temat pomocy

Pisanie, język i dane

Szybkie wprowadzanie dla użytkowników klawiatury, właściwy język dla każdego użytkownika i bezpośrednie połączenie z Twoimi zbiorami danych.

Pisanie, język i dane

Prawdziwe pisanie, nie tylko klikanie

Osoby wprowadzające dane wpisują daty, a nie klikają po kalendarzach. Każde pole tekstowe sgcEditors to prawdziwa kontrolka edycji platformy, więc kompozycja IME dla japońskiego, chińskiego i koreańskiego, schowek, cofanie, menu kontekstowe i czytniki ekranu działają. Parsowanie jest tolerancyjne: ukośniki, łączniki, kropki, dwukropki, przecinki lub spacje oddzielają pola, nazwy miesięcy i dni z ustawień regionalnych są rozumiane, a dwucyfrowe lata są przeliczane. Strzałki w górę i w dół zmieniają segment pod kursorem, a tekst, którego nie da się odczytać, wywołuje OnParseError.

  • DisplayFormat z segmentami d, m, y, h, n, s
  • OnParseError, aby przyjąć lub odrzucić dziwne dane
  • AllowEmpty i TextHint dla pól opcjonalnych
  • Pole liczbowe przyjmuje zarówno . jak i , jako separator dziesiętny
Przeczytaj temat pomocy
Każda kontrolka mówi językiem użytkownika

Pisanie, język i dane

Każda kontrolka mówi językiem użytkownika

Międzynarodowe zespoły i wielojęzyczne produkty potrzebują dat, które czyta się naturalnie dla każdego użytkownika. Każda kontrolka ma własne FormatSettings, wypełniane z ustawień regionalnych użytkownika i zmienialne w czasie działania, więc dwie kontrolki na jednym formularzu mogą nawet używać dwóch ustawień regionalnych. Kalendarz i selektory biorą z nich nazwy dni i miesięcy, formaty daty i czasu, napisy AM i PM oraz separatory. FirstDayOfWeek i WeekNumbering podążają za ustawieniami regionalnymi lub Twoim wyborem, a liczby używają właściwych separatorów dziesiętnych i tysięcy. Jednostki, podpowiedzi i nazwy dostępności pozostają Twoimi własnymi właściwościami, więc tłumaczysz je razem z resztą formularza.

  • FormatSettings dla każdej kontrolki
  • FirstDayOfWeek: efdLocale lub wymuszone efdMonday
  • WeekNumbering: domyślnie ewnISO8601
  • TsgcEditorLocale dla modeli bez okna
  • Od prawej do lewej dla arabskiego i hebrajskiego: przyciski zmiany wartości, listy rozwijanej i czyszczenia przechodzą na drugą stronę, suwaki, oceny i kalendarz biegną od prawej, a pole edycji czyta się od prawej do lewej
Przeczytaj temat pomocy
Wersje powiązane z danymi dla Twoich formularzy

Pisanie, język i dane Tylko zarejestrowana

Wersje powiązane z danymi dla Twoich formularzy

Większość formularzy biznesowych w Delphi opiera się na TDataSet, a ręczne podłączanie każdego edytora jest powtarzalne. Pięć kontrolek powiązanych z danymi wiąże się bezpośrednio z polem przez DataSource i DataField: selektor daty, selektor czasu, pole liczbowe, ocena i suwak zakresu, którego drugi uchwyt wiąże EndDataField. Pola null pokazują się jako puste, gdy AllowEmpty jest włączone. Wiążą się przez TsgcEditorFieldLink, który używa tylko jednostki DB, więc wersje FireMonkey nie potrzebują LiveBindings. W .NET zwykłe kontrolki wiążą się za pomocą wiązania danych każdego frameworka. Upuść je na istniejący formularz, a logika zbioru danych, którą już masz, działa bez zmian.

  • TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit
  • TsgcVCLDBRating i TsgcVCLDBRangeSlider
  • DataSource, DataField, EndDataField
  • WPF: właściwości wartości wiążą się dwukierunkowo

Community: jednostki powiązane z danymi są puste; wiązanie danych .NET zwykłych kontrolek działa w obu edycjach.

Przeczytaj temat pomocy

Klawiatura, DPI i motywy

Szczegóły, które sprawdzają recenzenci: bez myszy, ostre na każdym monitorze i wygląd dopasowany do Twojej aplikacji.

Ostre na każdym monitorze

Klawiatura, DPI i motywy

Ostre na każdym monitorze

Laptopy ze skalą 150 procent obok zewnętrznych monitorów 100 procent to dziś norma, a rozmyte pola wyglądają tanio. sgcEditors układa każdą kontrolkę w pikselach logicznych przy 96 DPI i rysuje ją w skali ekranu, bez żadnej pracy w Twoim kodzie. Gdy formularz VCL przenosi się na monitor o innym DPI, wewnętrzny edytor i jego czcionka skalują się razem z kontrolką, a lista rozwijana jest rysowana w DPI monitora, na którym się otwiera. Rastry FireMonkey podążają za skalą sceny dla Retina i Androida.

  • Układ w pikselach logicznych, rysowanie w skali ekranu
  • Wewnętrzne edytory skalują się przy WM_DPICHANGED
  • Listy rozwijane używają DPI własnego monitora
  • SaveToPNG przyjmuje skalę dla ostrych obrazów
Przeczytaj temat pomocy
Przyjazne dla klawiatury i czytników ekranu

Klawiatura, DPI i motywy

Przyjazne dla klawiatury i czytników ekranu

Żadna funkcja sgcEditors nie wymaga myszy. Rysowane kontrolki same przejmują fokus, a kontrolki tekstowe przekazują go do wewnętrznego edytora, a kontrolka z fokusem rysuje 2-pikselowy pierścień fokusu w kolorze akcentu. W kalendarzu strzałki przesuwają o dzień lub tydzień i pomijają wyłączone dni, PageUp i PageDown przesuwają o miesiąc, a Shift rozszerza zakres. W selektorach F4 lub Alt+strzałka w dół otwiera listę rozwijaną, a Escape przywraca wartość. Pole liczbowe zmienia wartość strzałkami w górę i w dół oraz PageUp i PageDown.

  • F4 lub Alt+strzałka w dół otwiera każdą listę rozwijaną
  • Ctrl+strzałka w górę oddala kalendarz do lat i dekad
  • Increment i LargeIncrement dla pola liczbowego
  • Natywne edytory zachowują działanie czytników ekranu
Przeczytaj temat pomocy
Jasny i ciemny jedną właściwością

Klawiatura, DPI i motywy

Jasny i ciemny jedną właściwością

Formularze wyglądają na dopracowane, gdy każde pole stosuje ten sam motyw. Każda kontrolka ma Theme, AccentColor i TextStyle, a kolory ramki, najechania, naciśnięcia, zaznaczenia i stanu wyłączonego są z nich wyprowadzane, więc jedna właściwość zmienia cały wygląd. Tokeny są tymi, których używa każdy produkt sgcUI, więc edytory umieszczone w kafelku sgcDashboard lub pod sgcToolbar pasują bez dodatkowej pracy. Wyłączona kontrolka sama zlewa się z tłem. Przełącz motyw w czasie działania, a każdy edytor się odrysuje, gotowy na ustawienie trybu ciemnego.

  • Theme: utDefault (domyślnie, podąża za motywem aplikacji), utLight lub utDark
  • AccentColor dla zaznaczenia, uchwytów, wypełnienia i pierścienia fokusu
  • TextStyle dla rozmiaru, pogrubienia i koloru
  • Te same tokeny motywu co w całym pakiecie sgcUI
Przeczytaj temat pomocy

Zobacz sgcEditors w akcji

sgcEditors w demach pakietu sgcUI: kompletne aplikacje działające offline na wbudowanych danych symulowanych.

Kto buduje z sgcEditors

Formularze rezerwacji

Formularz rezerwacji potrzebuje zakresu pobytu, który szanuje dni zamknięte, liczby gości, godziny przyjazdu i może oceny ostatniej wizyty. Kalendarz miesięczny egzekwuje MinDate, MaxRangeDays i wyłączone dni, pole liczbowe liczy gości, selektor czasu przyjmuje wpisane godziny, a ocena zbiera opinie, wszystko w jednym motywie. Demo BookingForm buduje rezerwację hotelu z siedmiu edytorów z podsumowaniem na żywo.

  • Zakresy w kalendarzu
  • Pole liczbowe
  • Ocena
Uruchom demo BookingForm

Wprowadzanie danych w TDataSet

Aplikacje branżowe edytują rekordy przez cały dzień. Pięć edytorów powiązanych z danymi wiąże się z polem TDataSet przez DataSource i DataField, suwak zakresu wiąże oba końce, a pola null pokazują się jako puste. W połączeniu z prawdziwym wpisywaniem z klawiatury i tolerancyjnym parsowaniem operatorzy wpisują wartości szybko, a zbiór danych dostaje czyste dane. Demo DataAware umieszcza pięć edytorów na TClientDataSet obok TDBGrid i TDBNavigator.

  • Edytory powiązane z danymi
  • Wpisywanie tekstu
  • Klawiatura
Uruchom demo DataAware

Międzynarodowe aplikacje do planowania

Narzędzia planowania używane w wielu krajach muszą pokazywać każdemu użytkownikowi właściwy początek tygodnia, numery tygodni i nazwy miesięcy. Każda kontrolka ma własne FormatSettings, więc jeden formularz może pokazywać niemiecki kalendarz obok angielskiego, a FirstDayOfWeek i WeekNumbering podążają za ustawieniami regionalnymi lub Twoją regułą. Demo Calendar przełącza między angielskim, niemieckim, hiszpańskim, francuskim i włoskim z zakresem ograniczonym do 14 dni.

  • Lokalizacja
  • Numery tygodni
  • Wyłączone dni
Uruchom demo Calendar

Formularz opinii w kilku linijkach

To samo API w Delphi, C++ Builder i C#: ocena, suwak zakresu i edytor tokenów, wszystkie raportujące przez 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

Uruchom dema sgcEditors

Gallery, Calendar, BookingForm i DataAware są dostępne dla VCL i C++ Builder, a GalleryFMX dla FireMonkey; edycja .NET ma Gallery dla WinForms, WPF i Avalonia, BookingForm i BindingWpf.

Calendar

Calendar

Zakres do 14 dni, numery tygodni, wyłączone weekendy i święta oraz przełącznik ustawień regionalnych między angielskim, niemieckim, hiszpańskim, francuskim i włoskim.

BookingForm

Rezerwacja hotelu zbudowana z siedmiu edytorów z podsumowaniem na żywo pobytu, gości i godziny przyjazdu. Pokazuje, jak kontrolki współpracują na prawdziwym formularzu.

DataAware

Tylko zarejestrowana DataAware

Pięć edytorów powiązanych z danymi na TClientDataSet z TDBGrid i TDBNavigator. Kontrolki powiązane z danymi wymagają edycji zarejestrowanej lub wersji próbnej.

GalleryFMX

Galeria zbudowana z edytorami FireMonkey, dla Windows i Androida, z tymi samymi właściwościami i zdarzeniami co kontrolki VCL.

Skompilowane dema

Gotowe do uruchomienia pliki wykonywalne każdego produktu sgcUI, nic nie trzeba instalować.

Pobierz sgcUI_bin.zip →

Gdzie jest sgcEditors

sgcEditors jest w każdej edycji sgcUI i jest też sprzedawany osobno. sgcEditors jest również w pakiecie All-Access.

Pojedynczy pakiet sgcEditors

€199 / programista, pełny kod źródłowy, 1 rok aktualizacji.

Kup sgcEditors → Zobacz cennik →

sgcUI Standard

sgcEditors, sgcGrid, sgcNavigation i sgcToolbar, od €380.

Zobacz Standard →

sgcUI Professional

Standard plus sgcCharts, sgcDashboard i sgcGauges, od €529.

Zobacz Professional →

sgcUI Enterprise

Wszystkie produkty sgcUI (14), od €699.

Zobacz Enterprise →

Bezpłatna edycja Community (esegece.sgcEditors.Community w NuGet) ma wszystkie dziewięć kontrolek, ale selektor koloru nie ma kwadratu HSV ani paska alfa, edytor tokenów nie ma listy autouzupełniania, suwak zakresu ma jeden uchwyt i nie ma edytorów powiązanych z danymi.

FunkcjaCommunity (bezpłatna)Zarejestrowana
Wszystkie dziewięć kontrolek dla VCL, FireMonkey i .NET✓✓
Natywne wpisywanie tekstu, tolerancyjne parsowanie, lokalizacja✓✓
Zakresy w kalendarzu, limity i wyłączone dni✓✓
Klawiatura, DPI, motywy i eksport bez okna✓✓
Suwak zakresu z dwoma uchwytami−✓
Kwadrat HSV i pasek alfa selektora koloru−✓
Lista autouzupełniania edytora tokenów−✓
Edytory powiązane z danymi (Delphi i C++ Builder)−✓

Obsługiwane frameworki i platformy

Komponenty w sgcEditors

Każda kontrolka istnieje dla VCL, FireMonkey, WinForms, WPF i Avalonia z tymi samymi właściwościami i zdarzeniami.

KontrolkaVCL i C++ BuilderFireMonkey.NET
Kalendarz miesięcznyTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
Selektor datyTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
Selektor czasuTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
Selektor daty i czasuTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
Suwak zakresuTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
Selektor koloruTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
Edytor tokenówTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
OcenaTsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
Pole liczboweTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit

Kolumna .NET pokazuje nazwy WinForms, te same kontrolki istnieją dla WPF i Avalonia z prefiksami TsgcWpf i TsgcAvalonia. Pomocnicze komponenty niewizualne: TsgcEditorModel, TsgcEditorLocale i TsgcEditorFieldLink. Edytory powiązane z danymi (TsgcVCLDBDatePicker, TsgcVCLDBTimePicker, TsgcVCLDBSpinEdit, TsgcVCLDBRating i TsgcVCLDBRangeSlider, plus ich odpowiedniki FireMonkey) są tylko w edycji Zarejestrowanej i istnieją dla Delphi i C++ Builder.

CelKomponentPlatformy
Delphi 7 do 13, VCLEdytory TsgcVCLWin32 i Win64 od XE2
Delphi XE6 do 13, FireMonkeyEdytory TsgcFMXWindows, macOS, iOS i Android
C++ Builder 2007 do 13Edytory TsgcVCL i TsgcFMXWygenerowane nagłówki .hpp i biblioteki statyczne
Delphi 10.2 do 13, bez frameworkaModele i eksport PNG oraz SVG bez oknaLinux64 (bez kontrolek Linux)
.NET Framework 4.7.2, .NET 8, 9 i 10Edytory WinForms, WPF i AvaloniaDesktop Windows i cele Avalonia

Najczęściej zadawane pytania

Tak. Każde pole tekstowe to prawdziwy edytor platformy, TEdit bez ramki w VCL i TEdit FMX w FireMonkey, więc kompozycja IME dla japońskiego, chińskiego i koreańskiego, schowek, cofanie, menu kontekstowe i czytniki ekranu działają bez specjalnego kodu. Zobacz Wpisywanie tekstu i IME.

Tak. MinDate i MaxDate ustawiają limity, DisabledDates wymienia święta, DisabledWeekDays blokuje weekendy, a OnIsDateDisabled rozstrzyga każdą inną regułę. Wyłączone dni są przekreślone, pomijane przez klawiaturę i odrzucane przy wpisaniu w selektorze. Demo Calendar blokuje weekendy i dwa święta, aby pokazać reguły w działaniu.

Pięć, w Delphi i C++ Builder: selektor daty, selektor czasu, pole liczbowe, ocena i suwak zakresu, każdy jako kontrolka VCL i FireMonkey. Wymagają edycji zarejestrowanej lub wersji próbnej. W .NET zwykłe kontrolki wiążą się za pomocą wiązania danych WinForms, WPF i Avalonia, w obu edycjach.

Wszystkie dziewięć kontrolek jest w zestawie. Community pomija kwadrat HSV i pasek alfa selektora koloru, listę autouzupełniania edytora tokenów i drugi uchwyt suwaka zakresu. Edytory powiązane z danymi w Delphi są tylko w edycji Zarejestrowanej. Zobacz Edycje.

Tak. Każda kontrolka trzyma własną kopię FormatSettings, więc nazwy dni i miesięcy, formaty, separatory i pierwszy dzień tygodnia mogą się różnić dla każdej kontrolki. Demo Calendar przełącza w czasie działania między angielskim, niemieckim, hiszpańskim, francuskim i włoskim, a numery tygodni podążają za ISO 8601, chyba że wybierzesz inaczej.

Dla dat i czasów tak: TsgcVCLDatePicker, TsgcVCLTimePicker i TsgcVCLDateTimePicker to edytory z wpisywaniem i rozwijanym kalendarzem lub listą czasu. Dodatkowo tolerancyjnie parsują nazwy miesięcy, respektują limity i wyłączone dni, stosują motyw sgcUI i są rysowane w DPI każdego monitora.

Tak. C++ Builder 2007 i 2010 do 13 używają tych samych kontrolek VCL i FireMonkey przez wygenerowane nagłówki i biblioteki, a każde demo Delphi, w tym DataAware, jest dostępne także jako projekt C++ Builder. Zakładka z kodem na tej stronie pokazuje ten sam formularz w Delphi, C++ Builder i C#, a każdy przykład został skompilowany przed publikacją.

Pomoc sgcEditors

3,000+Programistów
20+Lat
761+Komponentów
30+Integracji API
5Platform
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Wypróbuj sgcEditors już dziś

Wersja próbna sgcUI zawiera sgcEditors i każdy inny produkt sgcUI.