
あらゆる種類のツールバーアイテムを 1 つのコントロールで。
tikButton、tikToggle、tikDropdownはコマンド用で、その周りにtikSeparatorとtikLabelを置きます。tikSpacerは空いている幅をすべて使い、Help やユーザー名を右端に押し出します。- トグルに同じ
GroupIndexを指定すると、イベントを配線しなくてもラジオグループになります。
どの UI でも同じ見た目の 2 つのコントロールで、デスクトップアプリケーションの骨組みを作ります。ボタン、トグル、ラジオグループ、ドロップダウンを備えたツールバーと、ワーカースレッドから直接更新できるプログレスパネルとインジケーターパネルを備えた本格的なステータスバー。ソースコード付きです。

上にコマンド、下に状態、裏で動く処理。sgcToolbar は、1 つのアイテムコレクションと 1 つのパネルコレクションで、あらゆるフレームワーク上のそのすべてをカバーします。
上には 6 種類のアイテム、下にはテキスト、プログレス、インジケーターのパネル。
Synchronize なしで、ワーカースレッドからパネルのテキスト、進捗、インジケーターを設定できます。
VCL、FireMonkey、WinForms、WPF、Avalonia で同じアイテムモデルを使えます。
ウィンドウなしで、両方のバーを PNG または SVG に描画できます。Linux64 にも対応しています。
体験版に付属する EditorShell デモと LiveStatus デモから録画しました。

tikButton、tikToggle、tikDropdown はコマンド用で、その周りに tikSeparator と tikLabel を置きます。tikSpacer は空いている幅をすべて使い、Help やユーザー名を右端に押し出します。GroupIndex を指定すると、イベントを配線しなくてもラジオグループになります。OverflowMenu を表示します。このメニューは、隠れたアイテムごとに 1 つの項目を持つ形で実行時に作られます。OnItemClick が発生し、ドロップダウンはメニューを表示します。
Width に従い、AutoSize のパネルはテキストに合わせ、Spring のパネルは残りを分け合います。spkProgress は、アクセントカラーで Progress のパーセントまで塗りつぶされます。spkIndicator は、sisOff、sisOk、sisWarning、sisError に応じた点を表示し、ライトとダークの両テーマ向けに調整されています。SetPanelText、SetProgress、SetIndicator は、Synchronize も Queue も使わずに任意のスレッドから呼び出せます。OnChange を発生させます。ラジオグループ、ドロップダウンメニュー、テーマ、アイコンのみのバーを、デモからそのままご覧ください。


GroupIndex を持つトグルはラジオグループになり、常に 1 つが選択された状態に保たれます。
Theme = utLight または utDark で、サイズグリップを含むツールバーとステータスバーのスタイルが切り替わります。
ShowCaptions をオフにすると、コンパクトなアイコンのみのバーになり、キャプションはヒントになります。トグル、ラジオグループ、ドロップダウン、そしてクリックハンドラーから更新されるステータスバー。Delphi、C++ Builder、C# で同じ API です。
dotnet add package esegece.sgcToolbar.WinForms
procedure TMainForm.CreateBars;
var
oItem: TsgcToolbarItem;
oPanel: TsgcStatusBarPanel;
begin
// a toolbar with a toggle, a Left/Center radio group and a dropdown
FToolbar := TsgcVCLToolbar.Create(Self);
FToolbar.Parent := Self;
FToolbar.OnItemClick := ToolbarItemClick;
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.Caption := 'Bold';
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.GroupIndex := 1;
oItem.Down := True;
oItem.Caption := 'Left';
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.GroupIndex := 1;
oItem.Caption := 'Center';
oItem := FToolbar.Items.Add;
oItem.Kind := tikDropdown;
oItem.Caption := 'Zoom';
oItem.DropdownMenu := FZoomMenu;
// a status bar: a spring text panel, a progress bar and an indicator
FStatusBar := TsgcVCLStatusBar.Create(Self);
FStatusBar.Parent := Self;
oPanel := FStatusBar.Panels.Add;
oPanel.Spring := True;
oPanel.Text := 'Ready';
FStatusBar.Panels.Add.Kind := spkProgress;
FStatusBar.Panels.Add.Kind := spkIndicator;
end;
procedure TMainForm.ToolbarItemClick(Sender: TObject; aItem: TsgcToolbarItem);
begin
// the setters are thread safe, a worker thread can call them directly
FStatusBar.SetPanelText(0, aItem.Caption + ' clicked');
FStatusBar.SetProgress(1, 60);
FStatusBar.SetIndicator(2, sisWarning);
end;
sgcToolbar は単体でも、Standard 以上のすべての sgcUI エディションに含まれる形でも入手できます。テーマとランタイムを共有する製品と一緒にお使いいただけます。いずれもソースコード付きです。
Standard に sgcCharts、sgcDashboard、sgcGauges を追加。
.NET では、 esegece.sgcToolbar.Community の NuGet パッケージは無償です。sgcToolbar は All-Access バンドルにも含まれます。
すべての sgcUI 製品は同じランタイム sgcUICore で描画するため、ツールバーとステータスバーはフォント、余白、アクセントカラー、テーマを、その間にあるコントロールと共有します。

同じテーマトークンを使うサイドバーまたはアコーディオンにより、ツールバー、ステータスバー、メニューが 1 つのアプリケーションシェルになります。

ツールバーの下のフォームで、日付ピッカー、スライダー、トークン編集を同じテーマとアクセントカラーで使えます。

ステータスバーをライブグリッドと組み合わせ、行数、フィルター、フィードの状態をパネルに表示できます。
Standard
Professional で追加
Enterprise で追加
体験版をダウンロードして EditorShell、LiveStatus、EditorShellFMX のデモを実行するか、まず全機能をご覧ください。