爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • Smart帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

      • 公共属性
      • 公共方法
      • 公共事件
      • 窗口控件
      • 系统控件
      • 标准控件
      • 对话框控件
      • 标准工控控件
      • 专业工控控件
      • 数据控制控件
      • 数据表格控件
      • 数据感知控件
      • 通讯控制控件
      • 仪表采集控件
      • 监控视频控件
      • 数据图表控件
      • 流程图表控件
      • 数据分析控件
      • 复合数控控件
      • 模拟数控控件
      • 调节数控控件
      • 数位数控控件
      • 数据数控控件
      • 地图控件
      • 其他控件
      • SVG控件
      • IsoBean控件
      • 样式控件
      • 样式外观控件
      • 样式高级控件
      • 样式工具控件
        • 1. TscStyleManager
          • 1.1. 属性
        • 2. TscStyledForm
          • 2.1. 属性
          • 2.2. 事件
          • 2.2.1. OnChangeScale
          • 2.2.2. OnDropDown
          • 2.2.3. OnCloseUp
          • 2.3. 方法
          • 2.3.1. CloseUp
        • 3. TscNcButtonItem
          • 3.1. 属性
          • 3.2. 事件
        • 4. TscNCTabItem
          • 4.1. 属性
          • 4.2. 事件
      • 样式数据控件
      • 样式控件GP
      • 样式数据控件GP
    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

  • 开发手册

目录

样式工具控件

# Smart控件使用(样式工具)

  提供个性化样式调整工具控件。

# 1. TscStyleManager

  用于调整样式菜单、样式通用对话框和缩放选项的组件。scStyleManager 单元还改进了一些用于常见对话框的系统样式挂钩(绘图和缩放(高 DPI)支持)。

# 1.1. 属性

属性 功能说明
MenuAlphaBlendValue 菜单的 AlphaBlend 值。 如果值 < 255,则启用菜单的 AlphaBlend
MenuImages 墙纸图像和菜单背景
MenuWallpaperIndex 菜单墙纸图像索引
MenuBackgroundIndex 菜单自定义背景的图像索引
MenuBackgroundOverContentIndex 图像索引,将覆盖菜单的所有项目
MenuHeadersSupport 如果为 True,则您可以调整样式菜单的标题
将某些项目作为这些步骤的标题:
1.设置 TMenuItem.Caption 的第一个和最后一个字符 ='-'
2. 设置 TMenuItem.Enabled = False
MenuHookEnabled 启用/禁用菜单样式,也可使用标准的 TStyleManager.SystemHooks 属性
ScaleStyles 如果为 True,则所有控件都将为系统缩放某些样式元素。
ScaleThemes 如果为 True,那么所有控件都将为 hi-dpi 系统缩放一些主题元素。例如,如果您将表单移动到其他显示器,使用其他 dpi,则复选框和单选框将使用当前 DPI 的大小。
ScaleFormBorder 如果为 True,则样式表的边框将缩放到任何系统比例因子(125%、150%-200% 和更多)
StyleArrowType 定义将使用某些控件和菜单中的哪种箭头
MenuSelectionStyle 定义将在菜单中使用哪种选择
scmssStyled - 使用样式中的选择位图
scmssColor - 使用样式中的选择颜色
RTLMode 为对话框窗体启用 BidiMode = bdRightToLeft
SystemShellDialogs 使用此属性可以在 TscOpenDialog、TscSaveDialog、TscOpenPictureDialog、TscSavePictureDialog 组件中使用系统外壳对话框而不是自定义窗体

# 2. TscStyledForm

  调整和改进样式表行为的组件。

# 2.1. 属性

属性 功能说明
ClientWidth, ClientHeight 表格的客户端大小的存储值。 当您更改具有不同大小的表单边框的样式时,此组件会自动将客户端大小调整为这些值
ShowStylesMenu 如果为 True,则组件会自动将样式菜单添加到窗体的系统菜单中
StylesMenuCaption 样式菜单的菜单项标题
ShowIcon 显示/隐藏图标
Buttons TscNCButtonItems 控件项目的集合
Tabs TscNCTabItems 控件项目的集合
ButtonFont 按钮的文本字体
TabFont 标签页的文本字体
ButtonImages 按钮使用的图像库控件
TabImages 标签使用的图像库控件
ShowButtons 显示、隐藏按钮
ShowTabs 显示、隐藏标签页
TabIndex 活动标签页的索引序号
TabsPosition 左侧或右侧的标签页位置
ShowInactiveTab 如果为 False,则选项卡的正常和禁用状态将是透明的
CaptionFont 字幕文本的字体
CaptionAlignment 字幕文本的对齐方式
ShowHints 显示来自按钮和选项卡的提示
DropDownForm 如果为 True,则表单将具有下拉样式。
1.可以把任何控件放在TCustomForm上,并把它用作下拉表单。
2. TscStyledForm 必须放在所有窗体上进行交互。
3. 在表单上设置 TscStyledForm.DropDownForm = True,允许下拉。
4.使用TscStyledForm.OnDropDown、TscStyledForm.OnCloseUp事件来使用控件。
5. 使用 TscStyledForm.DropDown 方法显示下拉菜单父窗体的 nc 区域中的控件、位置或对象。
6.可以使用TscButton.CustomDropDown = True,TscButton.OnDropDown 和 TscButton.OnCloseUp 事件进行互动。
DropDownAnimation 为下拉表单启用 alphableend 动画
DropDownBorderColor 下拉窗体的边框颜色
InActiveClientColor 表单客户端的非活动效果的颜色。 这种颜色与模糊的客户形象融合在一起。请参阅 ShowClientInActiveEffect 和 HideClientInActiveEffect 方法。默认值为 clWindow,控件使用样式中的 clWindow 颜色
InActiveClientColorAlpha InActiveClientColor 值的 Alpha 值
InActiveClientBlurAmount 设置不活跃的客户区的模糊效果数值
DWMClientShadow 如果为 True,则组件为 BorderStyle = bsNone 的表单添加系统 DWM 阴影
DWMClientShadowHiTest 启用阴影的反馈条,可使用它来调整表单大小
CaptionWallpapers 标题壁纸的图像
CaptionWallpaperIndex 字幕的壁纸索引
CaptionWallpaperInAcitveIndex 表格未激活的标题壁纸的索引
CaptionWallpaperLeftMargin
CaptionWallpaperRightMargin
CaptionWallpaperTopMargin
CaptionWallpaperBottomMargin
标题字幕壁纸的边距
FluentUIBackground scfuibNone - 默认表单背景
scfuibBlur - 具有模糊背景的透明形式
scfuibAcrylic - 具有模糊背景和合并丙烯酸颜色的透明形式
FluentUIAcrylicColor 亚克力色值
FluentUIAcrylicColorAlpha 亚克力色值的Alpha/不透明度
FluentUIBorder 启用/禁用带有模糊背景的窗体的系统边框
FluentUIInactiveAcrylicColorOpaque 如果为true,则对于非活动的窗口,亚克力颜色alpha值自定设定未为255

在表单和控件上调整Fluent UI

在表单上添加Fluent UI背景的步骤

  1. 将 TscStyledForm 组件放在窗体上。
  2. 将 TscStyledForm.DWMClientShadow 设置为 True
  3. 如果需要调整带阴影的表单大小,请设置 TscStyledForm.DWMClientShadow。
  4. 将 TscStyledForm.FluentBackground 设置为 scfuibBlur 或 scfuibAcrylic(推荐使用 scfuibAcrylic)。
  5. 设置 TscStyledForm.FluentUIAcrylicColor(与虚化背景融合的亚克力色)
  6. 设置 TscStyledForm.FluentUIAcrylicColorAlpha(与模糊背景合并的丙烯酸颜色的不透明度)
  7. 设置 TscStyledForm.FluentUIBorder = True。

  运行应用程序,你会得到一个带有模糊背景效果的空透明表单。

调整应用程序中控件的步骤

  1. 在透明背景上仅使用 TscGP...(带有 GDI+ 图形的控件)带有 DrawTextMode = scdtmGDIPlus 的控件。如果您设置 TscGPPanel.FillColor = clBlack 和 TscGPPanel.FillColorAlpha = 255 那么这个区域将是透明的。
  2. 请注意,默认的 GDI 绘图(填充矩形、线条、文本)结果将是透明的。这意味着像 TEdit、TListView 和其他带有 GDI 文本的控件在此背景下看起来不正确。要获得任何第三方控件的不透明区域,您可以使用 TscPanel 或 TscGPPanel,设置其中的 FluentUIOpacity = True。把控件放在上面。其他一些控件也具有 FluentUIOpacity 属性(TscEdit、TscGPEdit 等)。

调整应用程序以在Windows 10和其他Windows版本上使用的步骤

  1. 使用 TscStyledForm.IsFluentUIAvailable 方法检测系统中的 Fluent UI。您可以在主窗体的 OnCreate 事件上使用此方法调整 TscGP.. 控件。
  2. 使用 scControls.SC_SetDrawTextModeInControl(AControl: TControl; ADrawTextMode: TscDrawTextMode) 方法快速调整 TscGP 中的 DrawTextMode...控件或窗体上的控件。如果 Fluent UI 不可用,您可以禁用 GDI+ 文本绘制。
  if not scStyledForm1.IsFluentUIAvailable or (scStyledForm1.FluentUIBackground = scfuibNone) then
  begin
    scControls.SC_SetDrawTextModeInControl(Self, scdtmGDI);
    BorderPanel.FrameWidth := 1;
    BorderPanel.FillColor := clBtnFace;
    scGPPanel1.TransparentBackground := False;
    ...
  end;
1
2
3
4
5
6
7
8
  1. 如果您在 Windows 10 下打开/关闭 Fluent UI,请在控件中将 FluentUIOpaque 属性设置为 True / False。

# 2.2. 事件

事件 说明
OnStyleChanged 当调整窗体中的样式组件时触发事件
OnTabChanged 当前激活的Tab标签页发生变化时触发事件
OnBeforeChangeScale 当调整表单的尺寸大小前触发事件
OnChangeScale 为其他 DPI 缩放表单时的事件。使用 AScaleFactor 参数可获取表单的实际比例因子,并用它调整一些控件
OnDropDown 将此事件与 DropDownForm = True 属性一起使用,该事件帮助您在窗体显示之前初始化窗体上的一些控件
OnCloseUp 将此事件与 DropDownForm = True 属性一起使用,在隐藏下拉表单后,使用此事件与下拉控件进行交互

# 2.2.1. OnChangeScale

TscOnChangeScaleEvent = procedure(AScaleFactor: Double) of object;
1

  当调整表单的尺寸大小前触发事件。为其他 DPI 缩放表单时的事件。 使用 AScaleFactor 参数获取表单的实际比例因子并用它调整一些控件。

 if AScaleFactor >= 4 then  // 400% +
    scButton1.Images := ImageList5
 else
 if AScale >=3 then // 300 % +
  scButton1.Images := ImageList4
 else
 if AScale >= 2 then // 200% +
 if scButton1.Images := ImageList3
 else
 if AScale >= 1.5 then // 150 % + 
 if scButton1.Images := ImageList2
 else
  scButton1.Images := ImageList1; // 100 % or 125%
1
2
3
4
5
6
7
8
9
10
11
12
13

# 2.2.2. OnDropDown

TscOnFormDropDownEvent = procedure(ADropDownForm: TCustomForm; ADropDownControl: TControl) of object;
1

  将此事件与 DropDownForm = True 属性一起使用,该事件帮助您在窗体显示之前初始化窗体上的一些控件。

procedure TPopupForm.scStyledForm1DropDown(ADropDownForm: TCustomForm;
  ADropDownControl: TControl);
var
  S: String;
begin
  S := '';
  if ADropDownControl <> nil then
  begin
    if ADropDownControl is TscButton then
    begin
      S := TscButton(ADropDownControl).Caption;
    end
    else
    if ADropDownControl is TscCustomEdit then
    begin
      S := TscCustomEdit(ADropDownControl).Text;
    end;
  end;
  if S <> '' then
  begin
    scListView1.Selected := scListView1.FindCaption(0, S, False, True, False);
    if scListView1.Selected <> nil then
      scListView1.ItemIndex := scListView1.Selected.Index;
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 2.2.3. OnCloseUp

TscOnFormCloseUpEvent = procedure(ADropDownForm: TCustomForm; ADropDownControl: TControl; AAcceptChanges: Boolean) of object;
1

  将此事件与 DropDownForm = True 属性一起使用,在隐藏下拉表单后,使用此事件与下拉控件进行交互。

procedure TPopupForm.scStyledForm1CloseUp(ADropDownForm: TCustomForm;
  ADropDownControl: TControl; AAcceptChanges: Boolean);
begin
  if ADropDownControl <> nil then
  begin
    if ADropDownControl is TscButton then
    begin
      TscButton(ADropDownControl).CloseUp(AAcceptChanges);
    end
    else
    if ADropDownControl is TscCustomEdit then
    begin
      if (scListView1.Selected <> nil) and AAcceptChanges then
        TscCustomEdit(ADropDownControl).Text := scListView1.Selected.Caption;
    end;
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 2.3. 方法

# 2.3.1. CloseUp

procedure CloseUp(AAcceptChanges: Boolean);
1

AAcceptChanges - 使用此参数进行下拉控制。使用此方法隐藏下拉表单。

# 3. TscNcButtonItem

TscNcButtonItem 中 Buttons 使用的控件集合。

# 3.1. 属性

属性 说明
ImageIndex, HotImageIndex, PressedImagesIndex 特定状态的图像索引
Enabled 是否启用按钮
Visible 按钮是否可见
PopupMenu 下拉菜单
Caption 按钮显示的文字
SplitButton 当 PopupMenu <> nil 时拆分按钮
Style 按钮的样式
Width 按钮的宽度。 如果值为 0,则大小将自动
Height 按钮的高度。 如果值为 0,则大小将自动
MarginLeft, MarginTop, MarginRight, MarginBottom 表单标题区域中按钮的边距
Position 表单标题区域中按钮的位置(scbpLeft、scbpRight)
Spacing 按钮中文本和图像之间的间距
Margin 按钮中文本和图像的边距
ContentMargin 按钮中左右两侧的额外边距。 使用此值自动增加按钮的宽度(Width = 0)
GroupIndex 按钮组索引
AllowAllUp 组中的所有按钮都可以为按起的状态
Down GroupIndex > 0 时的向下状态
Hint 按钮提示
CustomDropDown 如果为 True,则按钮将与下拉表单一起使用

# 3.2. 事件

事件 说明
OnPaint 使用此事件完全重绘按钮,您可以使用来自 TscImageCollection 的自定义图像
OnGetPaintParams 使用此事件设置特定字体颜色、按钮大小或绘制您的按钮中的内容(AHandled = True)
OnClick 按钮的点击事件
OnMouseMove, OnMouseUp, OnMouseDown 当进行鼠标相关的操作时触发事件
OnMouseEnter, OnMouseLeave 当鼠标光标进入或离开时触发事件
OnDropDown 使用此事件可打开下拉窗口
OnCloseUp 当下拉窗口关闭时触发事件

# 4. TscNCTabItem

TscNcButtonItem 中 Tabs 使用的控件集合。

# 4.1. 属性

属性 说明
ImageIndex 标签的图片索引序号
Enabled 启用标签
Visible 标签是否可见
Caption 标签文本
Width 选项卡的宽度,如果值是 0 那么大小将是自动的
Height 选项卡的高度,如果值是 0 那么大小将是自动的
MarginTop 表单标题区域中制表符的上边距
Spacing 制表符中文本和图像之间的间距
ContentMargin 选项卡中左右两侧的额外边距,使用此值自动增加选项卡的宽度(宽度 = 0)
Hint 选项卡提示

# 4.2. 事件

事件 说明
OnPaint 使用此事件完全重绘选项卡,您可以使用来自 TscImageCollection 的自定义图像
OnGetPaintParams 使用此事件设置特定字体颜色、选项卡大小或绘制您的按钮中的内容(AHandled = True)
OnMouseMove,OnMouseUp,OnMouseDown 当鼠标的关联事件发生时触发的事件,其中 AIndex 表示标签的索引号,X,Y 表示鼠标所在的位置
OnMouseEnter,OnMouseLeave 当鼠标的关联事件发生时触发的事件,其中 AIndex 表示标签的索引号
样式高级控件
样式数据控件

← 样式高级控件 样式数据控件→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式