
一个控件涵盖所有工具栏项目类型。
tikButton、tikToggle和tikDropdown用于命令,tikSeparator和tikLabel排在它们周围。tikSpacer占用全部空闲宽度,把帮助或用户名推到右边缘。- 给切换项设置相同的
GroupIndex后,它们就组成单选组,无需编写事件连接。
用两个在所有界面框架下外观一致的控件,搭建桌面应用的外框。工具栏支持按钮、切换项、单选组和下拉项,真正的状态栏带有进度和指示灯面板,工作线程可以直接更新。包含源代码。

命令在上,状态在下,工作在后台运行。sgcToolbar 用一个项目集合和一个面板集合涵盖这一切,适用于所有框架。
上方六种项目,下方是文本、进度和指示灯面板。
在工作线程中设置面板文本、进度和指示灯,无需 Synchronize。
VCL、FireMonkey、WinForms、WPF 和 Avalonia 使用相同的项目模型。
无需窗口即可把两个栏渲染为 PNG 或 SVG,包括 Linux64。
录制自试用版附带的 EditorShell 和 LiveStatus 演示。

tikButton、tikToggle 和 tikDropdown 用于命令, tikSeparator 和 tikLabel 排在它们周围。tikSpacer 占用全部空闲宽度,把帮助或用户名推到右边缘。GroupIndex 后,它们就组成单选组,无需编写事件连接。OverflowMenu,它在运行时生成,每个被隐藏的项目对应一个条目。OnItemClick 会触发,下拉项会显示其菜单。
Width、AutoSize 面板按文本自适应宽度, Spring 面板平分剩余空间。spkProgress 按 Progress 的百分比用强调色填充。spkIndicator 会针对 sisOff、sisOk、sisWarning 或 sisError显示一个圆点,并针对浅色和深色主题做了调校。SetPanelText、SetProgress 和 SetIndicator 可以在任意线程中调用,无需 Synchronize 或 Queue。OnChange 。单选组、下拉菜单、主题和纯图标工具栏,直接来自演示。


GroupIndex 的切换项组成一个单选组,并且始终保持有一个选项被选中。
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 版本中获得它,与共用其主题和运行时的产品一起使用。均附带源代码。
对于 .NET, esegece.sgcToolbar.Community 在 NuGet 上免费。sgcToolbar 也包含在 All-Access 套餐.
每款 sgcUI 产品都使用同一个运行时 sgcUICore 绘制,因此工具栏和状态栏与两者之间的控件共享字体、间距、强调色和主题。

侧边栏或手风琴使用相同的主题令牌,工具栏、状态栏和菜单因此组成统一的应用外壳。

工具栏下方表单中的日期选择器、滑块和标记编辑框,使用相同的主题和强调色。

把状态栏与实时表格搭配,用面板显示行数、筛选条件和数据源状态。
Standard
Professional 增加
Enterprise 增加