Delphi、C++ Builder & .NET sgcUI の一部

sgcEditors、Delphi、C++ Builder & .NET 向けのモダンな入力コントロール

どのモニターでも同じ見た目で、ネイティブのエディットのように動作する 9 つのフォーム入力です。実際の予約ルールを備えたカレンダー、日付と時刻のピッカー、レンジスライダー、カラーピッカー、チップ、星評価、スピンエディットを提供します。日付は自分の言語で入力でき、1 つのプロパティでダークテーマに切り替えられ、エディターをデータセットにバインドできます。

VCL、FireMonkey、WinForms、WPF、Avalonia 向けの 9 つのコントロールIME とクリップボードに対応したネイティブのテキスト入力無料の .NET Community 版sgcUI Standard に含まれます
月カレンダー、日付、時刻、日時のピッカー、スピンエディット、評価、レンジスライダー、トークンエディット、カラーピッカーを並べた Gallery デモ

フォームにふさわしい入力コントロール

日付、範囲、色、タグを素早く入力でき、間違いにくくする 11 の機能です。

コントロール一覧

実際の業務フォームの項目をカバーする 9 つの入力コントロールで、いずれも VCL、FireMonkey、.NET で利用できます。

9 つのモダンな入力コントロールを 1 つのパッケージで

コントロール一覧

9 つのモダンな入力コントロールを 1 つのパッケージで

予約フォーム、設定ページ、フィルターでは、同じ入力が繰り返し求められます。カレンダー、日付や時刻のピッカー、スライダー、色、タグの一覧、星評価、単位付きの数値です。sgcEditors は、この 9 つすべてを一貫したファミリーとして提供します。各コントロールは、VCL と FireMonkey では同じ published プロパティとイベントで、WinForms、WPF、Avalonia では同じ名前で用意されているため、1 つのコントロールで学んだことが他のコントロールにも当てはまります。テーマ、アクセントカラー、キーボードの操作モデルも共通です。パレットの SGC Editors ページから配置するだけで、最初の実行から正しい見た目になります。

  • TsgcVCLMonthCalendar、TsgcVCLDatePicker、TsgcVCLTimePicker、TsgcVCLDateTimePicker
  • 数値には TsgcVCLRangeSlider と TsgcVCLSpinEdit
  • TsgcVCLColorPicker、TsgcVCLTokenEdit、TsgcVCLRating
  • すべて TsgcVCLCustomEditor を継承しています
ヘルプのトピックを読む
実際の予約ルールに従うカレンダー

コントロール一覧

実際の予約ルールに従うカレンダー

ホテル、クリニック、レンタルの窓口では、どんな日付でも受け付けるわけではありません。月カレンダーは 1 つの日付を選択でき、SelectionMode を esmRange にすると日付の範囲を選択でき、MaxRangeDays でその範囲の長さに上限を設けられます。MinDate と MaxDate の外にある日、DisabledDates に挙げた日、週末などの DisabledWeekDays、OnIsDateDisabled ハンドラーが拒否した日は、取り消し線付きで描画され、選択できません。ISO 8601 の週番号と、月、年、10 年のビューにより、先の日付にも素早く移動できます。同じカレンダーが日付ピッカーのドロップダウンにも使われるため、日付を選ぶあらゆる場所でルールが適用されます。

  • SelectionMode: esmSingle または esmRange
  • MinDate、MaxDate、MaxRangeDays
  • DisabledDates、DisabledWeekDays、OnIsDateDisabled
  • ShowWeekNumbers で ISO 週番号を表示します
ヘルプのトピックを読む
2 つのつまみで価格や日付の範囲を指定

コントロール一覧 登録版のみ

2 つのつまみで価格や日付の範囲を指定

価格、重量、距離のフィルターは、レール上の範囲として指定するのが最も分かりやすい方法です。レンジスライダーは、1 つのつまみで Min から Max の間の値を選び、RangeMode では 2 つのつまみで範囲を選びます。水平にも垂直にも配置できます。目盛り、ラベル、ドラッグ中のつまみの上に表示される値のヒントを描画し、レールをクリックすると最も近いつまみがそこに移動します。つまみが交差することはなく、Step で値がスナップし、MinRange で最小の間隔が保たれるため、フィルターが誤って空になることはありません。値とラベルは、小数点や桁区切りを含め、コントロールのロケールに従います。

  • Value と EndValue を持つ RangeMode
  • Min、Max、Step、MinRange
  • TickInterval、ShowLabels、ShowValueTip
  • 通貨には LabelFormat または OnFormatLabel

Community 版: つまみは 1 つだけ描画され編集できます。EndValue は保持されますが表示されません。

ヘルプのトピックを読む
オートコンプリート付きのタグとチップ

コントロール一覧 登録版のみ

オートコンプリート付きのタグとチップ

タグ、宛先、スキルは 1 行のテキストではなく、リストです。トークンエディットは、各エントリを削除ボタン付きのチップとして描画し、チップを折り返し、収まらない場合はスクロールします。区切り文字、Enter、Tab、フォーカスの喪失で、入力したテキストがチップになり、a, b, c を貼り付けると 3 つのチップになります。OnValidateToken で各エントリを正規化または拒否でき、AllowDuplicates、CaseSensitive、MaxTokens でルールを設定できます。Registered 版では、入力中にオートコンプリートのリストがエントリを提案します。AddToken、RemoveToken、Clear を使うと、レコードの読み込みや保存の際に、コードからリストを変更できます。

  • Tokens がチップを保持し、Delimiters が 1 つのチップの終わりを決めます
  • OnValidateToken と InvalidTokens で各エントリを検証します
  • 提案には AutoCompleteItems と AutoCompleteMinChars を使います
  • OnTokenAdded と OnTokenRemoved で変更を通知します

Community 版: チップ、検証、上限は動作しますが、オートコンプリートのリストは開きません。

ヘルプのトピックを読む

コントロール一覧 登録版のみ

アルファ値付きで任意の色を選択

テーマエディター、グラフの設定、ラベルのデザイナーには、固定のパレットだけでは足りません。カラーピッカーは、色見本のグリッド、彩度と明度の正方形、色相バー、アルファバー、プレビューと 16 進数のエディットを備えた行を重ねて配置し、Parts でどれを表示するかを選べます。16 進数のエディットは、#RGB、#RGBA、#RRGGBB、#RRGGBBAA を受け付けます。ピッカーは色相を色とは別に保持するため、グレーでも色相が保たれ、ドラッグ中に正方形が飛ぶことはありません。ブランドのパレットを色見本として定義しても、ユーザーは 1 クリックで完全なピッカーを使えます。

  • Parts には ecpSwatches、ecpHSV、ecpAlpha、ecpHex があります
  • パレットには Swatches と SwatchColumns を使います
  • SelectedColor は ARGB 値です
  • OnChangeComplete は、ユーザーがマウスを離したときに発生します

Community 版: 色見本と 16 進数のみで、HSV の正方形とアルファバーは描画されず、アルファは常に $FF です。

ヘルプのトピックを読む

入力、言語、データ

キーボードユーザーのための素早い入力、すべてのユーザーに合った言語、データセットへの直接のリンクを備えています。

入力、言語、データ

クリックだけでなく、本物のタイピング

データ入力の担当者は、カレンダーをクリックして進むのではなく、日付を入力します。sgcEditors のすべてのテキストフィールドは、プラットフォームの本物のエディットコントロールなので、日本語、中国語、韓国語の IME 入力、クリップボード、元に戻す、コンテキストメニュー、スクリーンリーダーがすべて動作します。解析は柔軟です。スラッシュ、ハイフン、ドット、コロン、カンマ、スペースが区切りとして使え、ロケールの月名や曜日名が認識され、2 桁の年はピボットされます。上下キーでキャレット位置のセグメントを増減でき、読み取れないテキストは OnParseError を発生させます。

  • DisplayFormat では d、m、y、h、n、s のセグメントを使います
  • OnParseError で変則的な入力を受け入れるか拒否するかを決められます
  • 任意項目には AllowEmpty と TextHint を使います
  • スピンエディットは、小数点として . と , の両方を受け付けます
ヘルプのトピックを読む
各コントロールがユーザーの言語を話す

入力、言語、データ

各コントロールがユーザーの言語を話す

国際的なチームや多言語の製品では、すべてのユーザーにとって自然に読める日付が必要です。各コントロールは独自の FormatSettings を持ち、ユーザーのロケールから設定され、実行時に変更できるため、1 つのフォーム上の 2 つのコントロールが別のロケールを使うこともできます。カレンダーとピッカーは、日と月の名前、日付と時刻の書式、AM と PM の文字列、区切り文字をここから取得します。FirstDayOfWeek と WeekNumbering はロケールまたは任意の設定に従い、数値には適切な小数点と桁区切りが使われます。単位、ヒント、アクセシビリティ名は独自のプロパティのままなので、フォームの他の部分と一緒に翻訳できます。

  • コントロールごとの FormatSettings
  • FirstDayOfWeek: efdLocale、または強制的な efdMonday
  • WeekNumbering: 既定は ewnISO8601 です
  • ヘッドレスのモデル用の TsgcEditorLocale
  • アラビア語とヘブライ語の右から左対応:スピン、ドロップダウン、クリアのボタンは反対側に移動し、スライダー、評価、カレンダーは右から並び、編集フィールドは右から左に読みます
ヘルプのトピックを読む
フォーム向けのデータ対応バージョン

入力、言語、データ 登録版のみ

フォーム向けのデータ対応バージョン

Delphi の業務フォームの多くは TDataSet 上に構築されており、すべてのエディターを手作業で配線するのは繰り返しの多い作業です。5 つのデータ対応コントロールは、DataSource と DataField を通じてフィールドに直接バインドされます。日付ピッカー、時刻ピッカー、スピンエディット、評価、そして 2 つ目のつまみが EndDataField にバインドされるレンジスライダーです。AllowEmpty がオンの場合、Null のフィールドは空として表示されます。バインドには TsgcEditorFieldLink を使い、これは DB ユニットだけを使うため、FireMonkey 版でも LiveBindings は不要です。.NET では、通常のコントロールを各フレームワークのデータバインディングでバインドします。既存のフォームに配置するだけで、すでにあるデータセットのロジックは変更なしで動作し続けます。

  • TsgcVCLDBDatePicker、TsgcVCLDBTimePicker、TsgcVCLDBSpinEdit
  • TsgcVCLDBRating と TsgcVCLDBRangeSlider
  • DataSource、DataField、EndDataField
  • WPF: 値のプロパティは双方向にバインドされます

Community 版: データ対応のユニットは空です。通常のコントロールの .NET データバインディングは、どちらのエディションでも動作します。

ヘルプのトピックを読む

キーボード、DPI、テーマ

レビューで確認される細部です。マウスが不要で、どのモニターでも鮮明で、アプリケーションに合った見た目になります。

どのモニターでも鮮明

キーボード、DPI、テーマ

どのモニターでも鮮明

150 パーセントのノートパソコンの隣に 100 パーセントの外部モニターを置く構成は今や普通のことで、ぼやけた入力コントロールは見劣りします。sgcEditors は、すべてのコントロールを 96 DPI の論理ピクセルでレイアウトし、画面のスケールで描画するため、コードで行うことは何もありません。VCL のフォームが別の DPI のモニターに移動すると、内部のエディットとそのフォントがコントロールに合わせてスケールされ、ドロップダウンは、開いたモニターの DPI で描画されます。FireMonkey のラスターは、Retina や Android に向けて、シーンのスケールに従います。

  • レイアウトは論理ピクセルで行い、画面のスケールで描画します
  • 内部のエディットは WM_DPICHANGED で再スケールされます
  • ドロップダウンは、それぞれのモニターの DPI を使います
  • SaveToPNG は scale を受け取り、鮮明な画像を出力します
ヘルプのトピックを読む
キーボードとスクリーンリーダーに配慮

キーボード、DPI、テーマ

キーボードとスクリーンリーダーに配慮

sgcEditors には、マウスが必要な機能はありません。描画型のコントロールは自らフォーカスを受け取り、テキスト型のコントロールはフォーカスを内部のエディットに渡します。フォーカスされたコントロールには、アクセントカラーの 2 ピクセルのフォーカスリングが描画されます。カレンダーでは、矢印キーで 1 日または 1 週間ずつ移動して無効な日をスキップし、PageUp と PageDown で 1 か月ずつ移動し、Shift で範囲を拡張します。ピッカーでは、F4 または Alt+Down でドロップダウンを開き、Escape で値を元に戻します。スピンエディットは、上下キー、PageUp、PageDown で値を増減します。

  • F4 または Alt+Down で、すべてのドロップダウンを開きます
  • Ctrl+Up でカレンダーを年と 10 年の表示に切り替えます
  • スピンエディットには Increment と LargeIncrement があります
  • ネイティブのエディットにより、スクリーンリーダーが引き続き動作します
ヘルプのトピックを読む
1 つのプロパティでライトとダーク

キーボード、DPI、テーマ

1 つのプロパティでライトとダーク

すべての入力が同じテーマに従うと、フォームは完成度が高く見えます。各コントロールには Theme、AccentColor、TextStyle があり、枠、ホバー、押下状態、選択、無効状態の色はそこから導出されるため、1 つのプロパティで見た目全体が変わります。トークンはすべての sgcUI 製品が使うものと同じなので、sgcDashboard のタイルや sgcToolbar の下に配置したエディターも、追加の作業なしで調和します。無効なコントロールは、自動的に背景になじみます。実行時にテーマを切り替えると、すべてのエディターが再描画されるため、ダークモードの設定にそのまま使えます。

  • Theme: utDefault(既定、アプリケーションのテーマに従う)、utLight、または utDark
  • 選択、つまみ、塗りつぶし、フォーカスリングには AccentColor を使います
  • サイズ、太字、色には TextStyle を使います
  • sgcUI スイート全体と同じテーマトークンを使います
ヘルプのトピックを読む

sgcEditors の動作を見る

sgcUI スイートのデモに含まれる sgcEditors:組み込みのシミュレーションデータでオフラインで動作する完全なアプリケーションです。

sgcEditors の主な利用シーン

予約フォームと予約管理

予約フォームには、休業日を考慮した宿泊期間、宿泊人数、到着時刻、そして場合によっては前回の訪問の評価が必要です。月カレンダーが MinDate、MaxRangeDays、無効な日を適用し、スピンエディットが人数を数え、時刻ピッカーが入力された時刻を受け付け、評価がフィードバックを集めます。すべて同じテーマで統一されます。BookingForm デモは、7 つのエディターとライブの概要表示で、ホテルの予約フォームを構築しています。

  • カレンダーの範囲
  • スピンエディット
  • 評価
BookingForm デモを実行する

TDataSet でのデータ入力

基幹業務アプリケーションでは、1 日中レコードを編集します。5 つのデータ対応エディターは、DataSource と DataField を通じて TDataSet のフィールドにバインドされ、レンジスライダーは両端をバインドし、Null のフィールドは空として表示されます。実際のキーボード入力と柔軟な解析を組み合わせることで、オペレーターは素早く値を入力でき、データセットにはクリーンなデータが渡されます。DataAware デモは、TClientDataSet 上の 5 つのエディターを、TDBGrid と TDBNavigator の隣に配置しています。

  • データ対応エディター
  • テキスト入力
  • キーボード
DataAware デモを実行する

国際的なスケジューリングアプリ

複数の国で使われる計画ツールは、すべてのユーザーに正しい週の開始日、週番号、月名を表示する必要があります。各コントロールが独自の FormatSettings を持つため、1 つのフォームにドイツ語のカレンダーと英語のカレンダーを並べて表示でき、FirstDayOfWeek と WeekNumbering はロケールまたは独自のルールに従います。Calendar デモは、14 日に制限した範囲で、英語、ドイツ語、スペイン語、フランス語、イタリア語を切り替えます。

  • ローカライズ
  • 週番号
  • 無効な日
Calendar デモを実行する

A Feedback Form in a Few Lines

The same API in Delphi, C++ Builder and C#: a rating, a range slider and a token edit, all reporting through 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

sgcEditors のデモを実行する

Gallery、Calendar、BookingForm、DataAware は VCL と C++ Builder 向けに付属し、FireMonkey 向けには GalleryFMX があります。.NET 版には、WinForms、WPF、Avalonia 向けの Gallery と、BookingForm、BindingWpf があります。

Calendar

Calendar

最大 14 日の範囲、週番号、無効にした週末と祝日、英語、ドイツ語、スペイン語、フランス語、イタリア語のロケール切り替えを備えています。

BookingForm

7 つのエディターで構築したホテルの予約フォームで、宿泊、人数、到着時刻のライブの概要を表示します。実際のフォームでコントロールがどのように連携するかが分かります。

DataAware

登録版のみ DataAware

TClientDataSet 上の 5 つのデータ対応エディターを、TDBGrid と TDBNavigator とともに配置しています。データ対応コントロールには、Registered 版または体験版が必要です。

GalleryFMX

FireMonkey のエディターで作ったギャラリーで、Windows と Android に対応し、VCL のコントロールと同じプロパティとイベントを備えています。

コンパイル済みデモ

sgcUI 全製品のすぐに実行できる実行ファイルです。インストールは不要です。

sgcUI_bin.zip をダウンロード →

sgcEditors が含まれるエディション

sgcEditors は、すべての sgcUI エディションに含まれており、単体でも販売しています。All-Access バンドルにも含まれています。

sgcEditors 単体パッケージ

€199 / 開発者、ソースコード一式、1 年間のアップデート付き。

sgcEditors を購入 → 価格を見る →

sgcUI Standard

sgcEditors、sgcGrid、sgcNavigation、sgcToolbar、€380 から。

Standard を見る →

sgcUI Professional

Standard に加えて sgcCharts、sgcDashboard、sgcGauges、€529 から。

Professional を見る →

sgcUI Enterprise

sgcUI 全 14 製品、€699 から。

Enterprise を見る →

無料の Community 版(NuGet の esegece.sgcEditors.Community)には 9 つのコントロールすべてが含まれますが、カラーピッカーには HSV の正方形とアルファバーがなく、トークンエディットにはオートコンプリートのリストがなく、レンジスライダーのつまみは 1 つで、データ対応エディターはありません。

機能Community(無料)登録版
VCL、FireMonkey、.NET 向けの 9 つのコントロールすべて✓✓
ネイティブのテキスト入力、柔軟な解析、ローカライズ✓✓
カレンダーの範囲、制限、無効な日✓✓
キーボード、DPI、テーマ、ヘッドレス出力✓✓
2 つのつまみを持つレンジスライダー−✓
カラーピッカーの HSV の正方形とアルファバー−✓
トークンエディットのオートコンプリートのリスト−✓
データ対応エディター(Delphi と C++ Builder)−✓

対応フレームワークとプラットフォーム

sgcEditors のコンポーネント

すべてのコントロールが、VCL、FireMonkey、WinForms、WPF、Avalonia 向けに、同じプロパティとイベントで用意されています。

コントロールVCL と C++ BuilderFireMonkey.NET
月カレンダーTsgcVCLMonthCalendarTsgcFMXMonthCalendarTsgcWinFormsMonthCalendar
日付ピッカーTsgcVCLDatePickerTsgcFMXDatePickerTsgcWinFormsDatePicker
時刻ピッカーTsgcVCLTimePickerTsgcFMXTimePickerTsgcWinFormsTimePicker
日時ピッカーTsgcVCLDateTimePickerTsgcFMXDateTimePickerTsgcWinFormsDateTimePicker
レンジスライダーTsgcVCLRangeSliderTsgcFMXRangeSliderTsgcWinFormsRangeSlider
カラーピッカーTsgcVCLColorPickerTsgcFMXColorPickerTsgcWinFormsColorPicker
トークンエディットTsgcVCLTokenEditTsgcFMXTokenEditTsgcWinFormsTokenEdit
評価TsgcVCLRatingTsgcFMXRatingTsgcWinFormsRating
スピンエディットTsgcVCLSpinEditTsgcFMXSpinEditTsgcWinFormsSpinEdit

.NET の列には WinForms の名前を示しています。同じコントロールが WPF と Avalonia にもあり、プレフィックスは TsgcWpf と TsgcAvalonia です。非ビジュアルのヘルパーは、TsgcEditorModel、TsgcEditorLocale、TsgcEditorFieldLink です。データ対応エディター(TsgcVCLDBDatePicker、TsgcVCLDBTimePicker、TsgcVCLDBSpinEdit、TsgcVCLDBRating、TsgcVCLDBRangeSlider と、その FireMonkey 版)は Registered 版専用で、Delphi と C++ Builder 向けに提供されます。

ターゲットコンポーネントプラットフォーム
Delphi 7 から 13、VCLTsgcVCL エディターWin32、XE2 以降は Win64
Delphi XE6 から 13、FireMonkeyTsgcFMX エディターWindows、macOS、iOS、Android
C++ Builder 2007 から 13TsgcVCL と TsgcFMX のエディター生成された .hpp ヘッダーとスタティックライブラリ
Delphi 10.2 から 13、フレームワーク非依存モデルとヘッドレスの PNG および SVG 出力Linux64(Linux 用コントロールはありません)
.NET Framework 4.7.2、.NET 8、9 と 10WinForms、WPF、Avalonia のエディターWindows デスクトップと Avalonia のターゲット

よくある質問

はい。すべてのテキストフィールドはプラットフォームの本物のエディットです。VCL ではボーダーレスの TEdit、FireMonkey では FMX の TEdit を使っているため、日本語、中国語、韓国語の IME 入力、クリップボード、元に戻す、コンテキストメニュー、スクリーンリーダーが、特別なコードなしで動作します。テキスト入力と IMEをご覧ください。

はい。MinDate と MaxDate で制限を設定し、DisabledDates で祝日を列挙し、DisabledWeekDays で週末をブロックし、OnIsDateDisabled でその他のルールを判定できます。無効な日は取り消し線付きで表示され、キーボード操作ではスキップされ、ピッカーに入力しても受け付けられません。Calendar デモは、週末と 2 つの祝日をブロックして、ルールの動作を示しています。

Delphi と C++ Builder の 5 つです。日付ピッカー、時刻ピッカー、スピンエディット、評価、レンジスライダーで、それぞれ VCL と FireMonkey のコントロールがあります。Registered 版または体験版が必要です。.NET では、通常のコントロールを、WinForms、WPF、Avalonia のデータバインディングでバインドでき、どちらのエディションでも利用できます。

9 つのコントロールはすべて含まれます。Community 版では、カラーピッカーの HSV の正方形とアルファバー、トークンエディットのオートコンプリートのリスト、レンジスライダーの 2 つ目のつまみが含まれません。Delphi のデータ対応エディターは Registered 版専用です。エディションをご覧ください。

はい。各コントロールは FormatSettings を独自に保持するため、日と月の名前、書式、区切り文字、週の開始日をコントロールごとに変えられます。Calendar デモは、実行時に英語、ドイツ語、スペイン語、フランス語、イタリア語を切り替え、別途指定しない限り、週番号は ISO 8601 に従います。

日付と時刻については使えます。TsgcVCLDatePicker、TsgcVCLTimePicker、TsgcVCLDateTimePicker は、ドロップダウンのカレンダーまたは時刻リストを備えた、型付きのエディットです。さらに、月名を柔軟に解析し、制限と無効な日を考慮し、sgcUI のテーマに従い、モニターごとの DPI で描画されます。

はい。C++ Builder 2007 と 2010 から 13 では、生成されたヘッダーとライブラリを通じて、同じ VCL と FireMonkey のコントロールを使えます。DataAware を含むすべての Delphi のデモも、C++ Builder のプロジェクトとして付属します。このページのコードタブでは、同じフォームを Delphi、C++ Builder、C# で確認でき、各サンプルは公開前にコンパイル済みです。

sgcEditors のヘルプ

3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

今すぐ sgcEditors をお試しください

sgcUI 体験版には、sgcEditors とその他すべての sgcUI 製品が含まれています。