#1
|
||||
|
||||
Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM
Windows Fluent Effects Standalone API
Code:
Module: FluentApi.dll Version: v2.0.0.1 Author : BLACKFIRE69 FileSize: 34.5 KB Support: Windows 7, 8, 8.1, 10 and 11. Compiler : RadStudio 11 Update 3 + Patch 01 It functions similarly to FMXInno but comes with some limitations. Here are examples of how to use FluentApi.dll in: 1. InnoSetup 2. VCL - Delphi 3. FMX - Delphi NOTE: 1. Change the form fill color to Null. 2. Enable DoubleBuffered for InnoSetup / VCL. >> Double Buffered: For Inno/VCL, it's important to enable double buffering for forms before using fluent effects. However, the original version of InnoSetup doesn't support double buffering natively but requires the enhanced edition. Therefore, I have provided you with two DLLs that enable double buffering for forms in InnoSetup. If you know a better way to achieve this, let me know, as in this case, 'WS_EX_COMPOSITED' does not work. IS5Extra.dll ==> for InnoSetup 5.x IS6Extra.dll ==> for InnoSetup 6.x >> procedure FluentSetActiveThemeModeAwareness(const FluentHandle: Integer; FValue: Boolean); In simple terms, if you change the system mode (dark/light) while the app is running, the app will automatically change its mode (dark/light) to match the system mode. However, this feature does not work for custom-colored fluent forms and is supported only on Win10 and Win11. Code:
{ FluentType } const FLUENT_DISABLE = $0000; FLUENT_OPAQUE = $0001; // Windows 8/8.1 FLUENT_TRANSPARENT = $0002; // Windows 10/11 FLUENT_BLUR = $0003; // Windows 10/11 FLUENT_ACRYLIC = $0004; // Windows 10/11 FLUENT_INVALID_STATE = $0005; type TSysModeOnChanged = procedure(const ISDarkMode: Boolean); function EnableFluent(const WinHandle: HWND; DarkTheme, NoBorders, NoTitleBar: Boolean; Opacity: Single; BrightnessPct: Byte): Integer; (* Return Value = FluentHandle *) function EnableFluentEx(const WinHandle: HWND; VCLColor: Integer; NoBorders, NoTitleBar: Boolean; Opacity: Single; BrightnessPct: Byte): Integer; (* Return Value = FluentHandle *) function EnableFluentNull(const WinHandle: HWND; NoBorders, NoTitleBar: Boolean): Integer; (* Return Value = FluentHandle *) procedure FluentChangeToDarkMode(const FluentHandle: Integer; FDarkMode: Boolean); procedure FluentChangeColor(const FluentHandle, VCLColor: Integer); procedure FluentChangeType(const FluentHandle, FluentType: Integer); procedure FluentSuspend(const FluentHandle: Integer); procedure FluentResume(const FluentHandle: Integer); procedure FluentSetActiveThemeModeAwareness(const FluentHandle: Integer; FValue: Boolean; ThemeOnChanged: TSysModeOnChanged); procedure FluentWin10RedrawOnUpdate(const FluentHandle: Integer; FValue: Boolean); procedure FluentDisableOnDeactive(const FluentHandle: Integer; const FDisable: Boolean); (* For Windows 11 Only*) procedure FluentShutdown(const FluentHandle: Integer); // Extra: function IsWinDarkModeEnabled: Boolean; function IsWinTransparencyEnabled: Boolean; function GetWinAccentColorVCL: TColor; function EnableWinTransparency(Enabled: Boolean): Boolean; Last edited by BLACKFIRE69; 15-11-2023 at 18:44. |
The Following 7 Users Say Thank You to BLACKFIRE69 For This Useful Post: | ||
ADMIRAL (30-11-2023), audiofeel (15-11-2023), Cesar82 (16-11-2023), hitman797 (15-11-2023), Lord.Freddy (15-11-2023), nordi (25-02-2024), Razor12911 (15-11-2023) |
Sponsored Links |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
FMXInno - Windows Fluent Design Installer UI for Inno | BLACKFIRE69 | Conversion Tutorials | 866 | 27-10-2024 07:19 |
Windows Taskbar Plugin for InnoSetup | BLACKFIRE69 | Conversion Tutorials | 1 | 13-03-2023 06:55 |
Windows XP - Tricks | gargujjwal | Software | 3 | 25-05-2008 03:54 |
Frequently Asked Questions | Joe Forster/STA | PC Games - Frequently Asked Questions | 0 | 29-11-2005 10:48 |