FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   FMXInno - Windows Fluent Design Installer UI for Inno (https://fileforums.com/showthread.php?t=104852)

BLACKFIRE69 12-07-2022 02:09

FMXInno - Updates
 
FMXInno - Updates


If you want to protect your data especially things like graphics, it's now easy to do so with features built into the FMXInno. What happens here is that the FMXInno accesses those file in memory, which means that no file is created in the hard disk.


Let's see how to do it.

Quote:

1. First, make changes to your script as per the given example and compile it. (don't run the Setup.exe)
2. After that run the FXPcker.exe and add the files you want to hide. Also browse the Setup.exe compiled in the first step and generate a data file. (let's say Setup.dat)
3. We're almost done. Now just run the Setup.exe. That's all. ;)

* Be sure to create a new data file (Setup.dat) whenever you make changes to the script and recompile it. Because that file (Setup.dat) is unique. Otherwise, accessing the data file (Setup.dat) will be treated as unauthorized access.

The attached example includes more details.


Code:

function InitializeSetup(): Boolean;
begin
  // FXStream
  FXOk := FXUnPckrInit(ExpandConstant('{src}\Setup.dat'), '@#123_Test');

  if not FXOk then
  begin
    MsgBox('Failed to initialize the setup. The installation process cannot continue.', mbError, MB_OK);
    Result := False;
  end
  else
  begin
    FMXInnoInit;
    Result := True;
  end;
end;

// ...

procedure FMXDesigning;
begin
  { FMX Form }
  FMXForm.FCreateImageFormFromFXStream(WizardForm.Handle, 'PicForm.png', 1.00);
  FMXForm.SetCursor(ExtractAndLoad('Dark2.ani'));

  { Music Equ }
  MusicEqu.FCreate(FMXForm.Handle, NSX(620), NSY(100), NSX(110), NSY(42), 1.5, 8, '');
  MusicEqu.SetPictureFromFXStream('EqualizerLight.png');
  MusicEqu.OnClick(@MusicEquOnClick);

  { PicBtn[1] }
  PicBtn[1].FCreateFromFXStream(FMXForm.Handle, 'Button.png', NSX(600), NSY(455), NSX(125), NSY(45));
  PicBtn[1].Text('&Cancel');
  PicBtn[1].OnClick(@CommonOnClick);

  // ...

  { PicPart }
  PicPart.FCreateFromFXStream(FMXForm.Handle, 'mspaint.png', MusicEqu.GetLeft, MusicEqu.GetTop + NSY(100), 100, 100, 50, 50, 100, 100);

  // ...

  { PicPB[1] }
  PicPB[1].FCreateFromFXStream(FMXForm.Handle, 'pb.png', 'pbbkg.png', PctLabel.GetLeft + NSX(20), PctLabel.GetTop + NSY(50), 380, 25, True);
  PicPB[1].Value(69, 100);

  // ...
end;


.

BLACKFIRE69 24-07-2022 21:40

FMXInno v1.0.0.2 - Updates
 
FMXInno v1.0.0.2 - Updates

Code:

-- Added Auto DarkMode.
-- Added auto-scroll form background image depending on mouse position.
  1. function FCreateScrollableImgForm(WParent: HWND; AddImage: String): HWND;
  2. function FCreateScrollableImgFormFromFXStream(WParent: HWND; AddImage: String): HWND;

-- Added blend on moving effect.
-- Prevented the resizing of the fmx form.
-- Removed old color functions (which were buggy) and added new functions instead.

Quote:

{ VCL COLORS }
function VCLColorToFMXColor(const VColor: TColor): TAlphaColor;
function VCLColorToFMXColor2(const VColor: TColor; const Opacity: Single): TAlphaColor;
{ FMX COLORS }
function FMXColorToVCLColor(const FColor: TAlphaColor): TColor;
function FMXColorSetOpacity(const FColor: TAlphaColor; const Opacity: Single): TAlphaColor;
{ IMAGE COLORS }
function GetImgColorFMX(const Image: UnicodeString): TAlphaColor;
function GetImgPartColorFMX(const Image: UnicodeString; const PixelX, PixelY, PixelW, PixelH: Single): TAlphaColor;
function GetImgColorVCL(const Image: UnicodeString): TColor;
function GetImgPartColorVCL(const Image: UnicodeString; const PixelX, PixelY, PixelW, PixelH: Single): TColor;
{ HTML COLORS }
function HTMLColorStrToVCLColor(const HTMLHexClrStr: string): TColor;
function HTMLColorToVCLColor(const Color: Longint): TColor;
function HTMLColorToVCLColor2(const R, G, B: Byte): TColor;
function HTMLColorStrToFMXColor(const HTMLHexClrStr: string): TAlphaColor;
function HTMLColorToFMXColor(const Color: Longint): TAlphaColor;
function HTMLColorToFMXColor2(const R, G, B: Byte): TAlphaColor;
{ DARKER / LIGHTER }
function ClrDarkerVCL(const VColor: TColor; const Percent: Byte): TColor;
function ClrLighterVCL(const VColor: TColor; const Percent: Byte): TColor;
function ClrDarkerFMX(const FColor: TAlphaColor; const Percent: Byte): TAlphaColor;
function ClrLighterFMX(const FColor: TAlphaColor; const Percent: Byte): TAlphaColor;
{ DESKTOP IMAGE COLOR }
function GetDesktopImgColorVCL: TColor;
function GetDesktopImgColorFMX: TAlphaColor;

BLACKFIRE69 19-08-2022 08:57

FMXInno Demo
 
Demo - WPI Corepack

.

ScOOt3r 19-08-2022 11:51

That's another good looking installer

Snake288 19-08-2022 14:55

Hello BLACKFIRE69

Demo - WPI Corepack Can You Extract the Full Version ?
The Health of Your Labor Looks Very Beautiful
Can you Include the DiskSpan_GUI Compression Application in the Full Version
I Hope You Can Prepare It As Soon As Possible

BLACKFIRE69 30-08-2022 05:14

Quote:

Originally Posted by BLACKFIRE69 (Post 498015)
Demo - WPI Corepack

.

for fast startup.

Code:

[Setup]
//...
Compression=zip/1
SolidCompression=False
InternalCompressLevel=none
//...


BLACKFIRE69 07-09-2022 19:29

FMXInno v1.0.0.2 - Updates
 
FMXInno v1.0.0.2 - Updates

  • Added a new UI material.

Code:

function FCreateFluent(WParent: HWND; DarkTheme, NewMaterial, CleanThanDefault,
        NoBorder: Boolean): HWND;



Default material:


https://i.imgur.com/UltXEsb.png
https://i.imgur.com/Rnq9iLH.png


New material:


https://i.imgur.com/7AKNaJP.png
https://i.imgur.com/1IATLD3.png


.

BLACKFIRE69 08-09-2022 09:41

Quote:

Originally Posted by BLACKFIRE69 (Post 498246)
FMXInno v1.0.0.2 - Updates

  • Added a new UI material.
.

New UI Material Example:

,

BLACKFIRE69 09-09-2022 02:54

Quote:

Originally Posted by audiofeel (Post 498252)
Greetings to BLACK FIRE 69 ! If you use any form of "Fluent", then when moving it floats behind the pointer, it is late. it is possible that this is only on my PC. I attach the video. https://youtu.be/-UrabBzYYdI

i don't think that FMXInno can solve this internally. but i'll see if there's anything i can do.
maybe this depends on the windows os + graphics performance of the pc. but i don't know exactly.

Quote:

Greetings to BLACK FIRE 69 ! If the "FToggleCheckBox" is set to "Enable(False)", then everything works fine, it is not pressed and is not active. but if you click on the text that is from him, then it will work. video attached.https://youtu.be/3TvsmJKM4i4
yes, a small oversight. thanks for reporting. ;)

(extra (WPI_CorePack): you can also navigate through pages by clicking page labels.)

BLACKFIRE69 13-09-2022 01:53

FMXInno v1.0.0.2 - Updates
 
FMXInno - Updates


Code:

- Added ability to change the opacity and brightness of Fluent forms.
  (MainForm, DirForm, StartForm, CustomForm)

- Fixed focus issue in FluentDirBrowse / FluentStartBrowse.
- Minor bugs have been fixed.
- Some improvements.


function FCreateFluent(WParent: HWND; DarkTheme, NoBorder: Boolean; Opacity: Single;
        BrightnessPct: Byte): HWND;


,

BLACKFIRE69 17-09-2022 19:43

Quote:

Originally Posted by audiofeel (Post 498373)
BlackFire69
is there anything you can do with scaling "FSwitch" and "FCheckBox"?
https://ibb.co/ryBnyV1
https://ibb.co/5F5SM4J


maybe try using new values for Top and Width for higher DPI.

Code:

var
  FCurrentDPI: Cardinal;
begin
  FCurrentDPI := GetCurrentDPIValue;

  if FCurrentDPI < 120 then
    Switch1.Width(NSX(78))
  else
    Switch1.Width(NSX(58));


DPI          PCT

96        - 100%
120        - 125%
144        - 150%
192        - 200%


Code:

procedure FMXDesigning;
var
  FOffset: Integer;
begin
...
  #ifdef Component1
    FOffset := 0;
    Component[1].FCreate(Page3.Handle, True, 'Install {#C1[59]}');
    Component[1].SetBounds(NSX(20), NSY(185), NSX(250), NSY(25));
    Component[1].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
  #ifdef Component2
    FOffset := FOffset + 5;
    Component[2].FCreate(Page3.Handle, True, 'Install {#C2[59]}');
    Component[2].SetBounds(NSX(20), NSY(210 + FOffset), NSX(250), NSY(25));
    Component[2].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));

...

  #ifdef Component8
    FOffset := 0;
    Component[8].FCreate(Page3.Handle, True, 'Install {#C8[59]}');
    Component[8].SetBounds(NSX(340), NSY(185), NSX(250), NSY(25));
    Component[8].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
  #ifdef Component9
    FOffset := FOffset + 5;
    Component[9].FCreate(Page3.Handle, True, 'Install {#C9[59]}');
    Component[9].SetBounds(NSX(340), NSY(210 + FOffset), NSX(250), NSY(25));
    Component[9].FontSetting('Segoe UI', VCLFontSizeToFMX2(10), VCLColorToFMXColor($FFFFFF));
...
end;


rash 17-09-2022 21:24

https://fileforums.com/attachment.ph...1&d=1656616037

Change File Not working

script fixed please help me

BLACKFIRE69 18-09-2022 01:24

Quote:

Originally Posted by rash (Post 498379)
https://fileforums.com/attachment.ph...1&d=1656616037

Change File Not working

script fixed please help me

more details plz?

BLACKFIRE69 18-09-2022 05:36

FMXInno v1.0.0.2 - Updates
 
FMXInno - Updates

Code:

Added:

  - function EnableWinDarkMode(IsDark: Boolean): Boolean;
  - function IsWinDarkModeEnabled: Boolean;
  - function EnableWinTransparency(Enabled: Boolean): Boolean;
  - function IsWinTransparencyEnabled: Boolean;
  - function EnableWinAccentColor(Enabled: Boolean): Boolean;
  - function IsWinAccentColorEnabled: Boolean;
  - function RestartWinExplorer: Boolean;

  - function GetWinAccentColorVCL: TColor;
  - function GetWinAccentColorFMX: TAlphaColor;

Improved:

  - Customizable exit form.


,

BLACKFIRE69 20-09-2022 10:05

FMXInnoSk
 
New FMXInnoSk



FMXInno + Skia >> FMXInnoSk


FMXInnoSk is a side projects of FMXInno itself, where the other external API are integrated into FMXInno.
Here is the integration of Skia (is a cross-platform 2D graphics API developed by Google) to FMXInno as a starting step.


More about Skia:
skia.org
skia4delphi


FMXInnoSk requires the sk4d.dll lib.

(sorry for the low resolution GIFs :))


,


All times are GMT -7. The time now is 17:23.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com