sgcUI is seventeen native UI products for Delphi, C++Builder and .NET, installed by one installer. This page installs the trial, puts a grid with live rows on a form, shows the same code in C++Builder and C#, and then switches the whole application to dark mode and right to left with one call each.
One installer, 17 products
VCL, FireMonkey, WinForms, WPF and Avalonia
Dark theme and right to left built in
Step 1
Install the trial
There is no separate installer per product. One Delphi trial and one C++Builder trial install all seventeen products, and the .NET versions come from NuGet.
1. Run the installer
Download the trial for Delphi or for C++Builder and run it. The trial installs every product in its trial edition, with the demos and the help, and needs no licence.
2. Pick your IDEs
Choose the Delphi or C++Builder versions to install into, from Delphi 7 and C++Builder 2007 up to RAD Studio 13. The installer compiles the packages for each one and registers the design-time packages in the IDE.
3. Dependencies are automatic
sgcGrid, sgcCharts, sgcDashboard and the other controls build on sgcUICore, and sgcReports builds on sgcPDF. The installer compiles them in that order, so there is nothing to add by hand.
Add the package for your UI framework, for example esegece.sgcGrid.WinForms, esegece.sgcGrid.Wpf or esegece.sgcGrid.Avalonia. It pulls in esegece.sgcGrid and esegece.sgcUICore for you.
6. Community or Registered
Every .NET product also ships a free Community package with the .Community suffix, for example esegece.sgcGrid.Community. The Registered packages add every feature, the full source code and the commercial licence. For Delphi, the free Delphi Community edition installs sgcGrid only.
QuickStart
Your first sgcUI form
Create a VCL application, drop a TsgcVCLGrid from the SGC Grid palette page on the form, double click the form to get FormCreate and type the lines below. Press F9. The same grid in C++Builder and in a .NET WinForms application is on the other tabs.
Unit1.pas
uses
SysUtils, Classes, Controls, Forms,
sgcGrid_Columns, sgcGrid_Data, sgcGrid_VCL;
type
TForm1 = class(TForm)
sgcVCLGrid1: TsgcVCLGrid;
procedure FormCreate(Sender: TObject);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
sgcVCLGrid1.Align := alClient;
// the columns: field name, caption and data type
sgcVCLGrid1.Columns.Add('Symbol', 'Symbol');
sgcVCLGrid1.Columns.Add('Price', 'Price', gdtFloat).DisplayFormat := '0.00';
sgcVCLGrid1.Columns.Add('Volume', 'Volume', gdtInteger);
// one row per key, the values in column order
sgcVCLGrid1.Data.AppendRow('MSFT', ['MSFT', 412.5, 1200]);
sgcVCLGrid1.Data.AppendRow('AAPL', ['AAPL', 228.1, 3400]);
// later, from any thread: update a row by key and field name
sgcVCLGrid1.Data.UpdateRow('MSFT', ['Price', 'Volume'], [413.1, 1350]);
end;
AppendRow takes the values in column order. UpdateRow takes field names, so a message that only carries a price only touches the price, and a key that does not exist yet is inserted. The columns can also be added at design time with the Columns editor, and a TsgcGridSource_DataSet from the same palette page fills the grid from any TDataSet.
Unit1.cpp
#include <vcl.h>
#include"sgcGrid_Columns.hpp"#include"sgcGrid_Data.hpp"#include"sgcGrid_VCL.hpp"void __fastcall CreateGrid(TForm *Form)
{
TsgcVCLGrid *Grid = new TsgcVCLGrid(Form);
Grid->Parent = Form;
Grid->Align = alClient;
// the columns: field name, caption and data type
Grid->Columns->Add("Symbol", "Symbol", gdtText);
Grid->Columns->Add("Price", "Price", gdtFloat)->DisplayFormat = "0.00";
Grid->Columns->Add("Volume", "Volume", gdtInteger);
// one row per key, the values in column order
Grid->Data->AppendRow("MSFT", OPENARRAY(Variant,
(Variant("MSFT"), Variant(412.5), Variant(1200))));
Grid->Data->AppendRow("AAPL", OPENARRAY(Variant,
(Variant("AAPL"), Variant(228.1), Variant(3400))));
}
C++Builder uses the same components through the headers and libraries the C++Builder installer builds. Delphi open arrays are passed with the OPENARRAY macro. Or skip the code, drop the TsgcVCLGrid on the form and set the columns in the Object Inspector.
Program.cs
// dotnet add package esegece.sgcGrid.WinFormsusing System;
using System.Windows.Forms;
using esegece.sgcGrid;
internal static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Form oForm = new Form { Text = "My first sgcUI form", Width = 640, Height = 360 };
TsgcWinFormsGrid oGrid = new TsgcWinFormsGrid { Dock = DockStyle.Fill };
oGrid.Columns.Add("symbol", "Symbol");
oGrid.Columns.Add("price", "Price", TsgcGridDataType.gdtFloat).DisplayFormat = "0.00";
oGrid.Columns.Add("volume", "Volume", TsgcGridDataType.gdtInteger);
oGrid.Data.AppendRow("MSFT", "MSFT", 412.5, 1200);
oGrid.Data.AppendRow("AAPL", "AAPL", 228.1, 3400);
oGrid.Data.UpdateRow("MSFT", new[] { "price", "volume" }, new object[] { 413.1, 1350 });
oForm.Controls.Add(oGrid);
Application.Run(oForm);
}
}
The class names follow the Delphi ones: TsgcWinFormsGrid for WinForms, TsgcWpfGrid for WPF, and the same Columns and Data members on each. The WinForms packages target .NET Framework 4.7.2 and .NET 8, 9 and 10 for Windows.
Theme and direction
One switch for the whole application
Every sgcUI control follows the application theme and direction by default. One call repaints all of them in dark mode, and one call mirrors the whole application for Arabic or Hebrew.
Theme.pas
uses
Classes,
sgcUICore_Theme, sgcUICore_Theme_VCL;
procedure ApplyAppSettings(aDark, aRightToLeft: Boolean);
begin// every sgcUI control whose Theme is utDefault repaints in the new theme;// True also themes the standard controls of every open formif aDark then
sgcUISetApplicationTheme(utDark, True)
else
sgcUISetApplicationTheme(sgcUISystemTheme, True);
// mirrors every open form and the sgcUI controls that follow itif aRightToLeft then
sgcUISetApplicationBiDiMode(bdRightToLeft)
else
sgcUISetApplicationBiDiMode(bdLeftToRight);
end;
Both functions live in sgcUICore_Theme. Add sgcUICore_Theme_VCL (or sgcUICore_Theme_FMX) when you pass True, so the standard controls of your forms are themed too. sgcUISystemTheme returns the light or dark choice of the operating system. From C++Builder, include sgcUICore_Theme.hpp and make the same calls. A control whose own Theme is utLight, utDark or utCustom keeps it.
Program.cs
using esegece.sgcUICore;
// follow the light or dark choice of Windows, and theme the forms too
sgcUIApplication.SetTheme(sgcUIApplication.SystemTheme(), true);
// or force dark mode
sgcUIApplication.SetTheme(TsgcUITheme.utDark);
// mirror every open form and the sgcUI controls that follow it
sgcUIApplication.SetRightToLeft(true);
sgcUIApplication is a static class in esegece.sgcUICore, shared by WinForms, WPF and Avalonia. Per control, the standard properties still work: RightToLeft in WinForms and FlowDirection in WPF and Avalonia.
Next steps
Demos, products and documentation
The suite demos are complete applications that use many products at once. The demo sources ship in the trial, under Demos\Suite.
Suite demosERP, Factory, Fleet, Markets and Portfolio, compiled and ready to run.
Every sgcUI product ships five QuickStart demos for Delphi (VCL), from the first form to a small complete application, and a PDF guide that walks through them step by step.
sgcChartsA first line chart, titles, axes and a legend set in the Object Inspector, a live data feed, the click, crosshair and zoom events, and a sales application bound to a dataset.
sgcPlannerA first scheduler, its views and resources, appointments edited with the mouse and the keyboard, a Gantt chart and a Kanban board on the same data, and a team planner.
sgcWizardA first three page wizard, the look of the steps and buttons, validation and skipped pages, themes and transitions, and an onboarding application.
No. One installer covers all seventeen products. The trial installs every product, and the licensed installer shows one checkbox per product and enables the ones your licence owns. Products that need another one, such as sgcReports and sgcRichEdit on sgcPDF or sgcSpreadsheet on sgcGrid and sgcCharts, bring it along automatically.
The one that matches your screen. Most applications start with sgcGrid for data, then add sgcCharts or sgcDashboard for visuals and sgcNavigation and sgcToolbar for the shell. Because they share sgcUICore, they share one theme and one direction.
The model is the same, only the control class changes: TsgcFMXGrid for FireMonkey, TsgcWpfGrid for WPF and TsgcAvaloniaGrid for Avalonia, each with the same Columns and Data. The help has a quick start per product and per framework.
Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.