愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • 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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式