sgcUI を 5 分で

sgcUI は Delphi、C++Builder、.NET 向けのネイティブ UI 製品 17 種で、1 つのインストーラーでまとめてインストールできます。このページでは、体験版をインストールし、リアルタイムに更新される行を持つグリッドをフォームに配置し、同じコードを C++Builder と C# で示したあと、それぞれ 1 回の呼び出しでアプリケーション全体をダークモードと右から左の表示に切り替えます。

1 つのインストーラーで 17 製品
VCL、FireMonkey、WinForms、WPF、Avalonia
ダークテーマと右から左の表示に標準対応

体験版をインストールする

製品ごとの個別のインストーラーはありません。Delphi 用の体験版 1 つと C++Builder 用の体験版 1 つで 17 製品すべてがインストールされ、.NET 版は NuGet から入手します。

1. インストーラーを実行する

Delphi 用または C++Builder 用の体験版をダウンロードして実行します。体験版では、すべての製品が体験版エディションでデモとヘルプ付きでインストールされ、ライセンスは不要です。

2. 対象の IDE を選ぶ

インストール先の Delphi または C++Builder のバージョンを、Delphi 7 と C++Builder 2007 から RAD Studio 13 までの中から選択します。インストーラーが各バージョン用にパッケージをコンパイルし、デザイン時パッケージを IDE に登録します。

3. 依存関係は自動で処理される

sgcGrid、sgcCharts、sgcDashboard などのコントロールは sgcUICore を基盤とし、sgcReports は sgcPDF を基盤としています。インストーラーがこの順序でコンパイルするため、手作業で追加するものはありません。

4. パレットを確認する

製品ごとに専用のツールパレットページが用意されます: SGC Grid, SGC Navigation, SGC Toolbar, SGC Editors, SGC Charts, SGC Dashboard, SGC Gauges, SGC PivotGrid, SGC Planner, SGC Diagram, SGC Wizard, SGC Maps, sgcPDF, sgcReports, SGC RichEdit, SGC Spreadsheet and SGC Chat.

5. .NET は NuGet から

使用する UI フレームワーク用のパッケージ、たとえば esegece.sgcGrid.WinForms、esegece.sgcGrid.Wpf、esegece.sgcGrid.Avalonia を追加します。esegece.sgcGrid と esegece.sgcUICore は自動的に取り込まれます。

6. Community 版または Registered 版

.NET の各製品には、.Community サフィックスが付いた無償の Community パッケージ(例: esegece.sgcGrid.Community)も用意されています。Registered パッケージには、すべての機能、完全なソースコード、商用ライセンスが含まれます。 Delphi 向けには、無料のDelphi Community 版で sgcGrid のみがインストールされます。

最初の sgcUI フォーム

VCL アプリケーションを作成し、SGC Grid パレットページから TsgcVCLGrid をフォームにドロップします。フォームをダブルクリックして FormCreate を作成し、以下のコードを入力して F9 キーを押します。C++Builder と .NET WinForms アプリケーションでの同じグリッドは、ほかのタブにあります。

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 は値を列の順序で受け取ります。UpdateRow はフィールド名を受け取るため、価格だけを含むメッセージは価格だけを更新し、まだ存在しないキーは挿入されます。列はデザイン時に Columns エディターで追加することもでき、同じパレットページの TsgcGridSource_DataSet を使えば、任意の 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 では、C++Builder 用インストーラーがビルドするヘッダーとライブラリを通じて、同じコンポーネントを使用します。Delphi のオープン配列は OPENARRAY マクロで渡します。コードを書かずに、TsgcVCLGrid をフォームにドロップして、オブジェクトインスペクターで列を設定することもできます。

Program.cs
// dotnet add package esegece.sgcGrid.WinForms
using 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);
    }
}

クラス名は Delphi 版に準じています。WinForms では TsgcWinFormsGrid、WPF では TsgcWpfGrid で、どちらにも同じ Columns と Data メンバーがあります。WinForms パッケージは .NET Framework 4.7.2 と、Windows 向けの .NET 8 および 9 を対象としています。

アプリケーション全体を 1 つのスイッチで切り替える

sgcUI のすべてのコントロールは、既定でアプリケーションのテーマと表示方向に従います。1 回の呼び出しですべてをダークモードで再描画でき、もう 1 回の呼び出しでアプリケーション全体をアラビア語やヘブライ語向けに左右反転できます。

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 form
  if aDark then
    sgcUISetApplicationTheme(utDark, True)
  else
    sgcUISetApplicationTheme(sgcUISystemTheme, True);
  // mirrors every open form and the sgcUI controls that follow it
  if aRightToLeft then
    sgcUISetApplicationBiDiMode(bdRightToLeft)
  else
    sgcUISetApplicationBiDiMode(bdLeftToRight);
end;

どちらの関数も sgcUICore_Theme にあります。True を渡す場合は、フォームの標準コントロールにもテーマが適用されるように、sgcUICore_Theme_VCL(または sgcUICore_Theme_FMX)を追加してください。sgcUISystemTheme は、オペレーティングシステムのライトまたはダークの設定を返します。C++Builder では sgcUICore_Theme.hpp をインクルードして、同じ呼び出しを行います。コントロール自身の Theme が utLight、utDark、utCustom の場合は、その設定が維持されます。

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 は esegece.sgcUICore にある静的クラスで、WinForms、WPF、Avalonia で共通に使用します。コントロールごとには、標準のプロパティも引き続き使用できます。WinForms では RightToLeft、WPF と Avalonia では FlowDirection です。

デモ、製品、ドキュメント

スイートのデモは、多数の製品を同時に使用する完全なアプリケーションです。デモのソースは体験版の Demos\Suite フォルダーに同梱されています。

スイートデモ ERP、Factory、Fleet、Markets、Portfolio。コンパイル済みですぐに実行できます。
17 製品 Standard は sgcGrid、sgcNavigation、sgcToolbar、sgcEditors です。Professional では sgcCharts、sgcDashboard、sgcGauges が加わります。Enterprise では sgcPivotGrid、sgcPlanner、sgcDiagram、sgcWizard、sgcMaps、sgcPDF、sgcReports、sgcRichEdit、sgcSpreadsheet、sgcChat が加わります。
機能比較 各製品の機能を、Delphi、C++Builder、.NET 向けに並べて比較できます。
オンラインヘルプ インストール、製品別およびフレームワーク別のクイックスタート、アプリケーションテーマ、右から左の表示について説明しています。
価格 Standard、Professional、Enterprise、または製品単体でご購入いただけます。
体験版をダウンロード Delphi と C++Builder のインストーラー、コンパイル済みデモ、NuGet パッケージの一覧です。

各製品にはそれぞれのクイックスタートがあり、はじめにのページに一覧があります。

すべての製品に Getting Started ガイド

sgcUI の各製品には、最初のフォームから小さな完成アプリケーションまで進む Delphi (VCL) 向けの QuickStart デモが 5 つ付属し、それらを順を追って解説する PDF ガイド(英語)も用意されています。

sgcCharts 最初の折れ線グラフ、オブジェクトインスペクターで設定するタイトル・軸・凡例、ライブデータの取り込み、クリック・クロスヘア・ズームの各イベント、データセットに連結した売上アプリケーション。
sgcChat 最初の会話、Markdown を使った吹き出し、返信とリアクション、チャットパネル上のエコーボット、テーマ、AI アシスタントアプリケーション。
sgcDashboard KPI カードを使った最初のダッシュボード、12 列のタイルグリッド、ライブデータ、テーマ、チャートタイルを備えた売上ダッシュボード。
sgcDiagram 最初の図、フローチャートの図形、元に戻す機能付きのビューイベント、テーマ、JSON・PNG・SVG に書き出せるフローチャートエディター。
sgcEditors フォーム上の最初のエディター、値の読み書き、テーマ、入力検証、データフォームで作る連絡先アプリケーション。
sgcGauges 最初のラジアルゲージ、目盛りと色分けした範囲、しきい値アラーム、テーマとスキン、ポンプ場モニター。
sgcGrid 最初のグリッド、型付きの列、セル内編集、データセットへの接続、フィルター・グループ化・合計を備えた受注アプリケーション。
sgcMaps マーカーを置いた最初の地図、コードで追加するマーカーとラベル、図形、地図イベント、店舗検索。
sgcNavigation 最初のナビゲーションバー、コードで組み立てるメニュー、ドキュメントタブ、テーマとスタイル、小さなメールクライアント。
sgcPDF 1 ページだけの最初の PDF、フォント・図形・画像による描画、複数ページにまたがる表、PDF ビューアー、請求書ジェネレーター。
sgcPivotGrid 最初のピボットグリッド、行・列・値、合計と書式ルール、データセットへの接続、売上分析アプリケーション。
sgcPlanner 最初のスケジューラー、そのビューとリソース、マウスとキーボードで編集する予定、同じデータに対するガントチャートとカンバンボード、チームプランナー。
sgcReports 最初のレポート、データセットからのデータ一覧、グループと合計、エクスポートと印刷、請求書発行アプリケーション。
sgcRichEdit 最初のリッチテキスト文書、書式設定ツールバー、スタイル、表と画像、ファイル形式、差し込み印刷アプリケーション。
sgcToolbar 最初のツールバー、あらゆる種類の項目、アクションとステータスバー、テーマ、小さなテキストエディター。
sgcWizard 最初の 3 ページのウィザード、ステップとボタンの見た目、検証とスキップするページ、テーマとトランジション、オンボーディングアプリケーション。

sgcUI クイックスタートに関するよくある質問

いいえ。1 つのインストーラーで 17 製品すべてに対応します。体験版ではすべての製品がインストールされ、ライセンス版のインストーラーでは製品ごとにチェックボックスが表示され、お持ちのライセンスに含まれる製品が有効になります。sgcPDF を必要とする sgcReports と sgcRichEdit、sgcGrid と sgcCharts を必要とする sgcSpreadsheet のように、ほかの製品を必要とする製品では、その製品も自動的に一緒にインストールされます。
作ろうとしている画面に合うものです。多くのアプリケーションでは、まずデータ表示用に sgcGrid を使い、次にビジュアル表示用に sgcCharts や sgcDashboard、アプリケーションの枠組み用に sgcNavigation と sgcToolbar を追加します。すべて sgcUICore を共有しているため、テーマも表示方向も共通です。
モデルは同じで、変わるのはコントロールのクラスだけです。FireMonkey では TsgcFMXGrid、WPF では TsgcWpfGrid、Avalonia では TsgcAvaloniaGrid で、いずれも同じ Columns と Data を備えています。ヘルプには、製品別およびフレームワーク別のクイックスタートがあります。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

最初の sgcUI フォームを作る準備はできましたか?

体験版をダウンロードし、スイートデモを実行してから、グリッドをフォームにドロップしましょう。