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

sgcNavigation、Delphi、C++ Builder & .NET 向けのサイドバーとアコーディオンのナビゲーションバー

モダンなナビゲーションメニューを数分でアプリケーションに追加できます。1 つのコントロールがサイドバーにもアコーディオンにもなり、滑らかなアニメーションでアイコンレールに折りたたまれ、未読件数をバッジで表示し、すべてキーボードだけで操作できます。ライトとダークのテーマも標準で備えています。

VCL、FireMonkey、WinForms、WPF、AvaloniaDelphi 7 から 13、C++ Builder 2007 から 13無料の .NET Community 版sgcUI Standard に含まれます
Workspace と Business の 2 グループに 8 項目が並ぶサイドバーを持つ SidebarApp デモ。Dashboard が選択され、右側に 2 枚の KPI カードが表示されています

アプリメニューに必要なものをすべて

ページの一覧を、ユーザーがすぐに使いこなせるナビゲーションシェルに変える 10 の機能です。

レイアウトとモード

業務アプリケーションで使われる 2 つのナビゲーションスタイルと、その中間にある細いレールを、1 つのコントロールでカバーします。

モダンなアプリのサイドバーを 1 つのコンポーネントで

レイアウトとモード

モダンなアプリのサイドバーを 1 つのコンポーネントで

多くの業務アプリケーションでは、メインフォームの左端に同じものが必要です。領域ごとにグループ化されたページの一覧と、現在のページがはっきり分かる表示です。TsgcVCLNavigationBar をフォームに置いて左に配置し、項目を追加するだけです。グループヘッダーは、下に続く行の見出しとして控えめな色で表示され、選択されることはありません。選択された行にはアクセントカラーの背景と幅 3 ピクセルのアクセントバーが付くので、ユーザーは常に現在位置を把握できます。ホバー状態、押下状態、ヒント、無効な行もすべて描画されるため、最初の実行から完成度の高いバーになります。

  • Mode := nbmSidebar が既定のスタイルです
  • IsGroup で項目をグループヘッダーにできます
  • ItemHeight と GroupHeight で行の高さを設定します
  • 長い一覧はマウスホイールでスクロールでき、ScrollIntoView で任意の項目を表示できます
  • アラビア語とヘブライ語の右から左対応:アイコンとキャプションの位置が入れ替わり、インデント、シェブロン、バッジ、折りたたみボタンがミラー化されます
ヘルプのトピックを読む
1 つのプロパティでアコーディオンに切り替え

レイアウトとモード

1 つのプロパティでアコーディオンに切り替え

設定画面や管理コンソールでは、画面に収まらないほどセクションが多いことがよくあります。Mode を nbmAccordion にすると、各グループヘッダーが、下の項目を開閉するセクションになります。右側にシェブロンが表示され、子項目はインデントされます。既定では同時に開くグループは 1 つだけなので、長いメニューもコンパクトに保てます。複数のセクションを同時に開きたい場合は、AllowMultiExpand を設定します。項目、イベント、コードはまったく変わりません。最初のヘッダーより前に置いた項目はどのグループにも属さず、常に表示されるため、セクションの上に Home や Dashboard を置くのに向いています。

  • Mode := nbmAccordion でバー全体を切り替えます
  • Expanded でコードからグループを開閉できます
  • AllowMultiExpand で複数のグループを開いたままにできます
  • Indent で子項目のインデント幅を設定します
ヘルプのトピックを読む

レイアウトとモード

アニメーション付きでアイコンレールに折りたたむ

幅の広いサイドバーは、ユーザーが見たいデータの領域を奪ってしまいます。Collapsed を設定すると、バーは約 150 ms で展開時の幅から細いアイコンレールへ折りたたまれます。レールではアイコンだけが描画され、キャプションはヒントになり、グループヘッダーは区切り線に、バッジはドットになるので、大切な情報は失われません。バーが自分で幅を設定するため、隣のコンテンツは alClient で自然に追従します。Collapsed プロパティをハンバーガーボタン、ユーザー設定、フォームの幅などに連動させれば、サイドバーモードでもアコーディオンモードでも同じようにレールが開閉します。

  • Collapsed で 2 つの幅を切り替えます
  • ExpandedWidth(220)と CollapsedWidth(56)は論理ピクセルで指定します
  • AnimateCollapse でアニメーションのオンとオフを切り替えます
  • OnCollapsedChange でレールの開閉を通知します
ヘルプのトピックを読む

レイアウトとモード

選択に合わせてページを切り替える

ナビゲーションバーは、ユーザーに表示する内容を切り替えてこそ役に立ちます。有効な項目をクリックまたはタップすると、バーはその項目を選択し、OnItemClick を発生させてから、項目の OnClick を実行します。OnSelectionChange は、対応するページを表示するための唯一の場所です。たとえば、タブを非表示にした TPageControl のタブを切り替えます。SidebarApp デモはまさにこの方法で作られています。SelectedIndex を使うと、コードから現在のページを読み取ったり設定したりできます。ユーザーがまだ使えない項目は無効にしてヒントで理由を説明するか、見せたくないロールには非表示にできます。その間も選択のロジックは正しく動作します。

  • SelectedIndex はユーザーが選んだページです
  • OnSelectionChange でページやフレームを切り替えます
  • バーの OnItemClick と、項目ごとの OnClick があります
  • 項目ごとに Enabled、Hint、Visible を設定できます
ヘルプのトピックを読む

情報を伝える項目

行には、キャプションだけでなく、アイコン、件数、すでに書いたロジックへのリンクを持たせられます。

未読件数のバッジ

情報を伝える項目

未読件数のバッジ

ページを開く前に、対応が必要なものがあることをユーザーに伝えたい場合があります。項目に Badge を設定します。未読件数や New といった言葉などです。すると、バーは行の右側にアクセントカラーのピルとして描画し、見やすい方の黒または白の文字を使います。値が変わるたびにコードから設定すれば、バーは自動的に再描画されます。折りたたんだレールでは、バッジはアイコン上のドットになります。バッジは単なるテキストなので、件数、短いラベル、状態を表す言葉のいずれも、独自の描画コードなしで同じプロパティで扱えます。

  • Badge は項目ごとの短いテキストです
  • Badge が空の場合は何も描画されません
  • ピルにはテーマのアクセントカラー、または AccentColor が使われます
  • Hint と組み合わせると、件数の意味を説明できます
ヘルプのトピックを読む
イメージリストまたはグリフからのアイコン

情報を伝える項目

イメージリストまたはグリフからのアイコン

すべての行にアイコン用のスロットがあります。すでに使っているイメージリストをバーに指定し、項目ごとに ImageIndex を設定すると、マスク付きや 32 ビットの画像は一度だけ変換され、リストが変更されるまでキャッシュされます。まだイメージリストがない場合は、代わりに Glyph を設定します。テーマの色に従う文字や短い記号で、デモの見た目はこの方法です。無効な項目の画像は 40 パーセントの不透明度で描画されるため、状態が一目で分かります。両方を混在させても問題ありません。イメージインデックスを持つ項目は画像を、それ以外はグリフを表示するので、アイコンを少しずつ追加できます。

  • イメージリスト用の Images と ImageIndex
  • 画像なしで文字や記号を使うための Glyph
  • VCL では画像を元のサイズで描画します
  • FireMonkey のイメージリストは Delphi XE8 から利用できます
ヘルプのトピックを読む

情報を伝える項目 登録版のみ

項目を TAction に接続

TActionList を使って作られたアプリケーションでは、コマンド、キャプション、有効かどうかのルールがすでに 1 か所にまとまっています。Action プロパティで項目を任意の VCL または FireMonkey の TAction にリンクすると、Caption、Enabled、Visible、Hint、ImageIndex がアクションに追従します。クリックすると、バーを ActionComponent としてアクションが実行され、OnUpdate がアイドル時に実行されるため、アクションが無効になるとすぐに項目がグレーアウトされます。.NET では、同じ役割を Command と CommandParameter が担います。1 つの TActionList で、フォームのメニュー、ツールバー、キーボードショートカットをまとめて制御できます。

  • Action で項目を任意の TBasicAction にリンクします
  • 項目の OnClick は、アクションの代わりに実行されます
  • SGC_NAVIGATION_ACTIONS の下でコンパイルされます
  • .NET: ICommand を使う Command と CommandParameter

Community 版では、アクションの代わりに項目の OnClick またはバーの OnItemClick を割り当ててください。

ヘルプのトピックを読む

キーボード、テーマ、出力

バーをネイティブらしく感じさせ、アプリケーションの他の部分と一貫させるための細部です。

キーボード優先のナビゲーション

キーボード、テーマ、出力

キーボード優先のナビゲーション

上級ユーザーはマウスを使わずにページを切り替えます。アクセシビリティの審査でも求められる機能です。バーは Tab キーでフォーカスを受け取り、フォーカスされた行は表示されている有効な項目の間を移動します。上下キーで 1 つずつ移動し、Home と End で先頭と末尾に移動し、Enter または Space で実行します。アコーディオンでは、左キーでグループを閉じ、右キーで開きます。破線のフォーカス枠はキーボードを使っている間だけ表示され、フォーカスは選択中のページとは別に管理されます。FireMonkey のバーでも CanFocus を通じて同じキーが使えるため、デスクトップのユーザーはどのプラットフォームでも同じ動作になります。

  • VCL のバーでは TabStop が既定でオンです
  • モデルの FocusedIndex がキーボードで選んでいる行です
  • SelectedIndex は選ばれたページのままです
  • 折りたたんだレールでは、ヒントにキャプションが表示されます
ヘルプのトピックを読む
ライト、ダーク、そしてあなたのアクセントカラー

キーボード、テーマ、出力

ライト、ダーク、そしてあなたのアクセントカラー

アプリケーションのテーマを無視するメニューは、取って付けたように見えます。Theme は、共有の sgcUICore トークンから、背景、枠線、文字、グループヘッダー、ホバー、アクセントの各色を設定します。そのため、同じ Theme を指定したバーと sgcDashboard は完全に調和します。AccentColor を使うと、選択バー、フォーカス枠、バッジのアクセントをブランドカラーに置き換えられます。ダッシュボードのタイルに配置したバーは、ダッシュボードのテーマに自動的に従います。実行時にテーマを切り替えるとバーはすぐに再描画されるので、設定ページのダークモード切り替えにそのまま使えます。

  • Theme: utDefault(既定、アプリケーションのテーマに従う)、utLight、または utDark
  • AccentColor は $AARRGGBB 形式の値で、0 ならテーマのアクセントを使います
  • すべての sgcUI 製品と同じトークンを使います
  • ダッシュボードのタイルが自分のテーマをバーに伝えます
ヘルプのトピックを読む
ウィンドウなしでバーを描画

キーボード、テーマ、出力

ウィンドウなしでバーを描画

ドキュメント、ビジュアルテスト、Web バックエンドでは、メニューそのものではなく、メニューの画像が必要になることがあります。sgcNavigation_Render のレンダラーは、ウィンドウも VCL や FireMonkey も使わずに TsgcNavigationModel を描画するため、コンソールプログラム、サービス、サーバーでも、同じバーを PNG や SVG として生成できます。このユニットはすべてのプラットフォームでビルドでき、Linux64 も含まれます。scale パラメーターを使えば、高 DPI の画面でも鮮明な画像が得られます。イメージリストをレンダラーに渡すと、出力された画像には実行中のアプリケーションと同じアイコンが表示されます。

  • sgcNavigationSaveToPNG は PNG ファイルまたはストリームに書き出します
  • sgcNavigationSaveToSVG は同じバーを SVG として書き出します
  • sgcNavigationRender は任意の sgcUICore キャンバスに描画します
  • 幅と高さは論理ピクセルに scale を掛けた値です
ヘルプのトピックを読む

sgcNavigation の動作を見る

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

sgcNavigation の主な利用シーン

ERP と管理アプリのためのモダンなシェル

すでに数十のフォームがあり、メインウィンドウがそれらをメニューバーから開いているとします。左にサイドバーを置き、領域ごとに 1 項目を割り当て、OnSelectionChange でタブを非表示にした TPageControl のタブを切り替えます。バッジで保留中の注文や未読メッセージを示し、アイコンレールでフォームに広い領域を返せます。SidebarApp を実行すると、sgcDashboard ページと組み合わせたこのパターンの動作を確認できます。

  • サイドバーモード
  • バッジ
  • アイコンレールへの折りたたみ
SidebarApp デモを実行する

設定画面と管理コンソール

設定画面では、Sales、Inventory、Admin のような少数の見出しの下に、数十のページがまとめられます。アコーディオンは、同時に 1 つのセクションを開いたままにし、AllowMultiExpand を使えば複数を開けます。アクションリンクは、TActionList のコマンドと有効かどうかのルールをそのまま再利用します。キーボードのユーザーは、矢印キーでセクション間を移動できます。Accordion デモでは、3 つのグループ、展開の切り替え、クリックログを確認できます。

  • アコーディオンモード
  • アクションリンク
  • キーボードナビゲーション
Accordion デモを実行する

どのプラットフォームでも同じナビゲーション

Windows、macOS、iOS、Android で動く FireMonkey アプリケーションが、プラットフォームごとに異なるメニューを必要とするべきではありません。TsgcFMXNavigationBar は VCL のバーと同じ項目、モード、イベントを備え、WinForms、WPF、Avalonia 向けの .NET バーも同じ名前に従っています。Delphi のデスクトップアプリと .NET のツールの両方を提供するチームでも、考え方を 1 つに保てます。SidebarFMX は、サイドバーデモの FireMonkey 版です。

  • FireMonkey のバー
  • テーマ
  • .NET のバー
SidebarFMX デモを実行する

A Navigation Bar in a Few Lines

The same API in Delphi, C++ Builder and C#: an accordion bar with groups, a badge, a disabled item and a Collapse button.

procedure TMainForm.CreateNavigation;
var
  oItem: TsgcNavigationItem;
begin
  // an accordion bar on the left, dark theme, several groups open at once
  FNav := TsgcVCLNavigationBar.Create(Self);
  FNav.Parent := Self;
  FNav.Align := alLeft;
  FNav.Mode := nbmAccordion;
  FNav.AllowMultiExpand := True;
  FNav.Theme := utDark;
  // a group header (third parameter True), then the items under it
  FNav.Items.AddItem('Sales', '', True);
  FNav.Items.AddItem('Orders', 'O');
  FNav.Items.AddItem('Invoices', 'I').Badge := '3';
  FNav.Items.AddItem('Admin', '', True);
  oItem := FNav.Items.AddItem('Users', 'U');
  oItem.Hint := 'Manage the users';
  oItem := FNav.Items.AddItem('Billing', 'B');
  oItem.Enabled := False;
  FNav.SelectedIndex := 1;
  FNav.OnItemClick := NavItemClick;
  FNav.OnSelectionChange := NavSelectionChange;
  // a Collapse button folds the bar into an icon rail with an animation
  FNav.AnimateCollapse := True;
  FButton.Caption := 'Collapse';
  FButton.OnClick := ButtonClick;
end;

procedure TMainForm.NavItemClick(Sender: TObject; aItem: TsgcNavigationItem);
begin
  Caption := 'Clicked: ' + aItem.Caption;
end;

procedure TMainForm.NavSelectionChange(Sender: TObject);
begin
  FPanel.Caption := FNav.Items[FNav.SelectedIndex].Caption + ' page';
end;

procedure TMainForm.ButtonClick(Sender: TObject);
begin
  FNav.Collapsed := not FNav.Collapsed;
end;
#include <vcl.h>
#include <Vcl.ExtCtrls.hpp>
#include "sgcUICore_Theme.hpp"
#include "sgcNavigation_Model.hpp"
#include "sgcNavigation_VCL.hpp"

class TNavHandler : public TObject
{
public:
  TsgcVCLNavigationBar *Nav;
  TPanel *Content;
  void __fastcall ItemClick(TObject *Sender, TsgcNavigationItem *aItem);
  void __fastcall SelectionChange(TObject *Sender);
  void __fastcall CollapseClick(TObject *Sender);
};

void __fastcall TNavHandler::ItemClick(TObject *Sender, TsgcNavigationItem *aItem)
{
  Content->Caption = "Clicked: " + aItem->Caption;
}

void __fastcall TNavHandler::SelectionChange(TObject *Sender)
{
  Content->Caption = Nav->Items->Items[Nav->SelectedIndex]->Caption + " page";
}

void __fastcall TNavHandler::CollapseClick(TObject *Sender)
{
  Nav->Collapsed = !Nav->Collapsed;   // animated fold into an icon rail
}

void __fastcall CreateNavigation(TForm *Form, TNavHandler *Handler)
{
  // an accordion bar on the left, dark theme, several groups open at once
  TsgcVCLNavigationBar *Nav = new TsgcVCLNavigationBar(Form);
  Nav->Parent = Form;
  Nav->Align = alLeft;
  Nav->Mode = nbmAccordion;
  Nav->AllowMultiExpand = true;
  Nav->AnimateCollapse = true;
  Nav->Theme = utDark;
  // a group header (third parameter true), then the items under it
  Nav->Items->AddItem("Sales", "", true);
  Nav->Items->AddItem("Orders", "O", false);
  Nav->Items->AddItem("Invoices", "I", false)->Badge = "3";
  Nav->Items->AddItem("Admin", "", true);
  Nav->Items->AddItem("Users", "U", false)->Hint = "Manage the users";
  Nav->Items->AddItem("Billing", "B", false)->Enabled = false;
  Nav->SelectedIndex = 1;
  TPanel *Content = new TPanel(Form);
  Content->Parent = Form;
  Content->Align = alClient;
  Handler->Nav = Nav;
  Handler->Content = Content;
  Nav->OnItemClick = Handler->ItemClick;
  Nav->OnSelectionChange = Handler->SelectionChange;
  TButton *Button = new TButton(Form);
  Button->Parent = Content;
  Button->Caption = "Collapse";
  Button->OnClick = Handler->CollapseClick;
}
using System;
using System.Windows.Forms;
using esegece.sgcUICore;
using esegece.sgcNavigation;

internal class MainForm : Form
{
    private readonly TsgcWinFormsNavigationBar Nav = new TsgcWinFormsNavigationBar();
    private readonly Label lblPage = new Label { Dock = DockStyle.Fill };
    private readonly Button btnCollapse = new Button { Text = "Collapse", Dock = DockStyle.Top };

    public MainForm()
    {
        // an accordion bar on the left, dark theme, several groups open at once
        Nav.Dock = DockStyle.Left;
        Nav.Mode = TsgcNavigationMode.nbmAccordion;
        Nav.AllowMultiExpand = true;
        Nav.AnimateCollapse = true;
        Nav.Theme = TsgcUITheme.utDark;
        // a group header (third parameter true), then the items under it
        Nav.Items.AddItem("Sales", "", true);
        Nav.Items.AddItem("Orders", "O");
        Nav.Items.AddItem("Invoices", "I").Badge = "3";
        Nav.Items.AddItem("Admin", "", true);
        Nav.Items.AddItem("Users", "U").Hint = "Manage the users";
        Nav.Items.AddItem("Billing", "B").Enabled = false;
        Nav.SelectedIndex = 1;
        Nav.OnItemClick = (sender, item) => Text = "Clicked: " + item.Caption;
        Nav.OnSelectionChange = sender => lblPage.Text = Nav.Items[Nav.SelectedIndex].Caption + " page";
        // the Collapse button folds the bar into an icon rail with an animation
        btnCollapse.Click += (s, e) => Nav.Collapsed = !Nav.Collapsed;
        Controls.Add(lblPage);
        Controls.Add(btnCollapse);
        Controls.Add(Nav);
    }
}
dotnet add package esegece.sgcNavigation.WinForms

sgcNavigation のデモを実行する

SidebarApp と Accordion のデモは VCL と C++ Builder 向けに付属し、Delphi 向けには FireMonkey 版も用意しています。.NET 版では WinForms、WPF、Avalonia のプロジェクトとして提供します。

SidebarApp

SidebarApp

非表示タブの付いたページコントロールをサイドバーで操作するデモです。アイコン、バッジ、無効な項目、Collapse ボタン、テーマのコンボボックス、sgcDashboard の KPI ページを備えています。アプリケーションシェルのパターンを最初から最後まで確認できます。

Accordion

登録版のみ Accordion

Sales、Inventory、Admin の 3 つのグループ、AllowMultiExpand の切り替え、アクションリンク、クリックログを備えたデモです。アクションリンクを使うため、Registered 版または体験版が必要です。

SidebarFMX

FireMonkey 向けの TsgcFMXNavigationBar で作ったサイドバーデモで、Delphi 専用です。VCL 版と同じ項目、モード、イベントを備え、Windows、macOS、モバイルの各ターゲットで使えます。

コンパイル済みデモ

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

sgcUI_bin.zip をダウンロード →

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

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

sgcNavigation 単体パッケージ

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

sgcNavigation を購入 → 価格を見る →

sgcUI Standard

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

Standard を見る →

sgcUI Professional

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

Professional を見る →

sgcUI Enterprise

sgcUI 全 14 製品、€699 から。

Enterprise を見る →

無料の Community 版(NuGet の esegece.sgcNavigation.Community)には、項目のアクションリンクを除くすべての機能が含まれます。

機能Community(無料)登録版
サイドバーモードとアコーディオンモード✓✓
アニメーション付きのアイコンレールへの折りたたみ✓✓
アイコン、グリフ、バッジ✓✓
キーボードナビゲーション✓✓
ライトとダークのテーマ、アクセントカラー✓✓
ヘッドレスでの PNG と SVG 出力✓✓
アクションリンク(Delphi)と Command(.NET)−✓

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

sgcNavigation のコンポーネント

コンポーネントターゲット
TsgcVCLNavigationBarDelphi と C++ Builder、VCL(sgcNavigation_VCL)
TsgcFMXNavigationBarDelphi と C++ Builder、FireMonkey(sgcNavigation_FMX)
TsgcNavigationItem, TsgcNavigationItems, TsgcNavigationModelフレームワーク非依存のモデル(sgcNavigation_Model)
TsgcWinFormsNavigationBar.NET、WinForms
TsgcWpfNavigationBar.NET、WPF
TsgcAvaloniaNavigationBar.NET、Avalonia
ターゲットコンポーネントプラットフォーム
Delphi 7 から 13、VCLTsgcVCLNavigationBarWin32 と Win64
Delphi XE6 から 13、FireMonkeyTsgcFMXNavigationBarWindows、macOS、iOS、Android、Linux(FMXLinux)
C++ Builder 2007 から 13TsgcVCLNavigationBar、TsgcFMXNavigationBar生成された .hpp ヘッダーとスタティックライブラリ
Delphi 10.2 から 13、フレームワーク非依存モデルとヘッドレスの PNG および SVG レンダラーLinux64。たとえばサーバー上でバーを描画できます
.NET Framework 4.7.2、.NET 8、9 と 10TsgcWinFormsNavigationBar、WPF と Avalonia のバーWinForms、WPF、Avalonia

よくある質問

両方です。Mode プロパティで、同じコントロールのまま nbmSidebar と nbmAccordion を切り替えられ、項目もイベントも変わりません。そのため、プロジェクトの終盤でスタイルを変更したり、ユーザー設定として両方のスタイルを提供したりできます。どちらのモードも、折りたたんだアイコンレールに対応しています。

はい。OnSelectionChange を処理し、SelectedIndex に対応するページを表示します。たとえば、タブを非表示にした TPageControl のタブを切り替えたり、必要に応じてフレームを作成したりできます。SidebarApp デモはまさにこの方法で作られており、sgcDashboard の KPI ページを表示します。

はい。TsgcFMXNavigationBar は Delphi XE6 以降で Windows、macOS、iOS、Android、Linux(FMXLinux)を対象とし、VCL のバーと同じ項目、モード、イベントを備えています。FireMonkey のイメージリストには Delphi XE8 以降が必要です。それより前のバージョンでは、各項目の Glyph を使います。

項目のアクションリンクのみです。.NET では Command と CommandParameter プロパティに当たります。代わりに項目の OnClick またはバーの OnItemClick を使ってください。アイコンレール、バッジ、テーマ、ヘッドレス出力を含む他のすべての機能は、Community 版に含まれています。エディションをご覧ください。

いいえ。.NET 版にはデザイナーのバーブもコレクションエディターもないため、項目はシリアル化されず、通常はフォームまたはウィンドウのコンストラクターでコードから追加します。Delphi と C++ Builder では、Items コレクションをデザイン時に標準のコレクションエディターで編集できます。

はい。すべてのサイズは論理ピクセルにモニターのスケールを掛けた値なので、行、アイコン、バッジはどの DPI でも鮮明です。WinForms では幅と高さが VCL と同様に DPI / 96 でスケールされ、WPF と Avalonia ではデバイス非依存単位になります。

はい。sgcNavigationSaveToPNG と sgcNavigationSaveToSVG は、ウィンドウも VCL や FireMonkey も使わず、モデルからバーを描画します。Delphi 10.2 以降では Linux64 でも動作します。ドキュメント、ビジュアル回帰テスト、アプリケーションのメニューを表示する Web ページに使えます。

sgcNavigation のヘルプ

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

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

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