sgcUI sgcToolbar 现已发布

sgcToolbar. 命令在上方。 实时状态在下方。

用两个在所有界面框架下外观一致的控件,搭建桌面应用的外框。工具栏支持按钮、切换项、单选组和下拉项,真正的状态栏带有进度和指示灯面板,工作线程可以直接更新。包含源代码。

  • VCL
  • FireMonkey
  • WinForms
  • WPF
  • Avalonia
  • Delphi 7 至 13
LiveStatus 演示:工作线程模拟下载,并向状态栏的文本面板、进度条、绿色的运行中指示灯和数据块计数器提供数据
  • 6种工具栏项目:按钮、切换项、下拉项、分隔符、空白占位和标签
  • 3种状态面板:文本、进度和指示灯
  • 0次 Synchronize 调用,即可从工作线程更新状态栏
  • 5个界面框架:VCL、FireMonkey、WinForms、WPF、Avalonia

每个桌面应用都需要的两个栏。

命令在上,状态在下,工作在后台运行。sgcToolbar 用一个项目集合和一个面板集合涵盖这一切,适用于所有框架。

  • 工具栏和状态栏

    上方六种项目,下方是文本、进度和指示灯面板。

  • 线程安全的状态

    在工作线程中设置面板文本、进度和指示灯,无需 Synchronize。

  • 所有界面框架

    VCL、FireMonkey、WinForms、WPF 和 Avalonia 使用相同的项目模型。

  • 无界面输出

    无需窗口即可把两个栏渲染为 PNG 或 SVG,包括 Linux64。

看它运行。

录制自试用版附带的 EditorShell 和 LiveStatus 演示。

2 倍放大的 EditorShell 工具栏,标注了按钮、切换项、分隔符、下拉项、标签和空白占位
命令

一个控件涵盖所有工具栏项目类型。

  • tikButton、tikToggle 和 tikDropdown 用于命令, tikSeparator 和 tikLabel 排在它们周围。
  • tikSpacer 占用全部空闲宽度,把帮助或用户名推到右边缘。
  • 给切换项设置相同的 GroupIndex 后,它们就组成单选组,无需编写事件连接。
溢出

放不下的项目会移入溢出菜单。

  • 双箭头按钮会显示 OverflowMenu,它在运行时生成,每个被隐藏的项目对应一个条目。
  • 选择条目的效果与点击完全一样:切换项会翻转, OnItemClick 会触发,下拉项会显示其菜单。
  • 窗口再次变宽时,这些项目会自动回到工具栏。
spkText、spkProgress 和 spkIndicator 面板:光标位置、64% 的进度和 sisWarning 指示灯
状态栏

自动排版的状态面板。

  • 固定面板采用其 Width、AutoSize 面板按文本自适应宽度, Spring 面板平分剩余空间。
  • spkProgress 按 Progress 的百分比用强调色填充。
  • spkIndicator 会针对 sisOff、sisOk、sisWarning 或 sisError显示一个圆点,并针对浅色和深色主题做了调校。
实时状态

从工作线程更新状态栏。

  • SetPanelText、SetProgress 和 SetIndicator 可以在任意线程中调用,无需 Synchronize 或 Queue。
  • 模型用锁保护这些值,只有当值确实发生变化时才会触发 OnChange 。
  • 状态栏在主线程上重绘,因此界面绝不会在主线程之外被访问。

几行代码即可拥有工具栏和状态栏。

一个切换项、一个单选组、一个下拉项,以及在点击处理程序中更新的状态栏。Delphi、C++ Builder 和 C# 使用相同的 API。

dotnet add package esegece.sgcToolbar.WinForms

C++ Builder 和 C# 版本

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;

sgcUI 的一部分。

可单独购买 sgcToolbar,也可在 Standard 及以上的每个 sgcUI 版本中获得它,与共用其主题和运行时的产品一起使用。均附带源代码。

单独购买

sgcToolbar

单独的工具栏和状态栏,包含完整源代码和 1 年更新。

€149 / 每位开发者
sgcToolbar 价格
包含 sgcToolbar

Standard

sgcGrid、sgcNavigation、sgcToolbar 和 sgcEditors。

€380 / 每位开发者
查看 Standard
包含 sgcToolbar

Professional

Standard 加上 sgcCharts、sgcDashboard 和 sgcGauges。

€529 / 每位开发者
查看 Professional
包含 sgcToolbar

Enterprise

全部 16 款 sgcUI 产品。

€699 / 每位开发者
查看 Enterprise

对于 .NET, esegece.sgcToolbar.Community 在 NuGet 上免费。sgcToolbar 也包含在 All-Access 套餐.

了解 sgcUI

今天就把 sgcToolbar 用到您自己的应用中。

下载试用版并运行 EditorShell、LiveStatus 和 EditorShellFMX 演示,或者先浏览所有功能。

博客最新动态

查看全部文章 →

您正在查看 eSeGeCe 的 sgcToolbar 视角。

换个角度看看 →
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策