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)

ScOOt3r 06-07-2022 09:47

Thank you Blackfire69 this update works great..
thanks for everything

ScOOt3r

BLACKFIRE69 07-07-2022 12:22

FMXInno Updates
 
FMXInno Updates

Code:

-- Added Botva2-like buttons, checkboxes, and progress bars.

Code:

// Picture Button 2 AND CheckBoxes
type
  FPictureButton2 = interface(IUnknown)
    '{FA2FD0DA-5D2B-487D-A130-F23C4861AA7F}'
    function FCreate(FHandle: TFmxObject; FBtnPic: String; FLeft, FTop, FWidth, FHeight: Single): TFmxObject;
    function FCreateEightBtn(FHandle: TFmxObject; FBtnPic: String; FLeft, FTop, FWidth, FHeight: Single): TFmxObject;
    procedure Left(FLeft: Single);
    procedure Top(FTop: Single);
    procedure Opacity(FOpacity: Single);
    procedure Enabled(FEnabled: Boolean);
    procedure SetCheckedEightBtn(FChecked: Boolean);
    procedure Text(FTitle: String);
    procedure FontColor(FontColor: Integer);
    procedure FontSize(FSize: Single);
    procedure FontName(FontName: String);
    procedure FontSetting(FontName: String; FontSize: Single; FontColor: Integer);
    procedure FontStyle(Style: TFontStyles);
    procedure Visible(FVisible: Boolean);
    function IsChecked: Boolean;
    function IsEnabled: Boolean;
    function GetLeft: Single;
    function GetTop: Single;
    function GetWidth: Single;
    function GetHeight: Single;
    function GetObject: LongInt;
    procedure OnClick(Event: TNotifyEvent);
    procedure ButtonSounds(EnterWav, LeaveWav, ClickWav: String);
    function Handle: TFmxObject;
  end;

  // Picture Visible Part
type
  FPictureVisiblePart = interface(IUnknown)
    '{503EBEA8-C3F1-4F67-92E5-58ECF0D9BDD2}'
    function FCreate(FHandle: TFmxObject; FPic: String; FLeft, FTop, wx, wy, ww, wh: Single): TFmxObject;
    procedure Left(FLeft: Single);
    procedure Top(FTop: Single);
    procedure Height(FHeight: Single);
    procedure Width(FWidth: Single);
    procedure Opacity(FOpacity: Single);
    procedure Enabled(FEnabled: Boolean);
    procedure Visible(FVisible: Boolean);
    function GetLeft: Single;
    function GetTop: Single;
    function GetWidth: Single;
    function GetHeight: Single;
    function GetObject: LongInt;
    procedure OnClick(Event: TNotifyEvent);
    procedure OnMouseDown(Event: TMouseEvent);
    procedure OnMouseEnter(Event: TNotifyEvent);
    procedure OnMouseLeave(Event: TNotifyEvent);
    procedure OnMouseUp(Event: TMouseEvent);
    function Handle: TFmxObject;
  end;

  // Picture ProgressBar
type
  FPictureProgressBar = interface(IUnknown)
    '{7AA24D07-73E8-453F-9468-04CF27166365}'
    function FCreate(FHandle: TFmxObject; FPBPic, FBackPBPic: String; FLeft, FTop, FWidth, FHeight: Single; PbPicSentToBack: Boolean): TFmxObject;
    procedure Left(FLeft: Single);
    procedure Top(FTop: Single);
    procedure Value(const Current, Max: Integer);
    procedure Visible(FVisible: Boolean);
    procedure Enabled(FEnabled: Boolean);
    function GetLeft: Single;
    function GetTop: Single;
    function GetWidth: Single;
    function GetHeight: Single;
    function GetObject: LongInt;
    function Handle: TFmxObject;
  end;



(graphics are taken from Botva2 and CIU examples. credit goes to their creators.)



.

ScOOt3r 07-07-2022 20:38

@Blackfire69 I think there is an error in both scripts with the latest update.. when it tries to unpack the .bin files on the last screen where it installs, it asks do you want to uninstall it, instead of installing it.. not sure if that's just me but i went back to 1 version before the update and it works just fine..
also when i change the .bf extension to .bin it doesnt recognice .bin file while extracting.. this is script1 file im talking about.. also i have the redist disabled completly and it still shows up with 2 boxes checked.


ScOOt3r

BLACKFIRE69 07-07-2022 23:41

Quote:

Originally Posted by ScOOt3r (Post 497505)
@Blackfire69 I think there is an error in both scripts with the latest update.. when it tries to unpack the .bin files on the last screen where it installs, it asks do you want to uninstall it, instead of installing it.. not sure if that's just me but i went back to 1 version before the update and it works just fine..
also when i change the .bf extension to .bin it doesnt recognice .bin file while extracting.. this is script1 file im talking about.. also i have the redist disabled completly and it still shows up with 2 boxes checked.

ScOOt3r


yes, you're right. i've copied some codes directly from Script2.iss to Script1.iss.
so then Script1.iss reads the config from Script2.iss and not from Script1.iss.
that's the mistake. all you've to do is,

1. open the Script1.iss and press CRTL + H.
2. then REPLACE the word "Script2.iss" with "Script1.iss".
3. save it.

thanks for reporting this. and sorry for the inconvenience. ;)

.

ScOOt3r 08-07-2022 05:07

thank you @Blackfire69 it works now.. i was messing with it all night and im glad it was a quick fix...

cheers
ScOOt3r

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 :))


,

TEAmo 23-09-2022 09:25

Quote:

Originally Posted by audiofeel (Post 498427)
if the theme in the system is dark, then the installer will be white and vice versa.
all fonts are taken from the system 'Segoe UI Variable Text' and 'Segoe Fluent Icon'. they are only in W11

Can I upload your script? Thank you

hitman797 24-09-2022 04:30

@audiofeel
Quote:

Greetings to Black fire 69. How did you personally want to start the language setting after launching the installer itself? I really wanted to see your example.
To change the language use Custom Messages & Languages Section
Quote:

[Languages]
Name: "English"; MessagesFile: "Language\English.isl"
Name: "French"; MessagesFile: "Language\French.isl"
Name: "Arabic"; MessagesFile: "Language\Arabic.isl"

[CustomMessages]
// English
English.Font=Segoe UI Bold Italic
English.AppName=Assassin's Creed Unity
English.Autorun=Welcome
English.Welcome=Welcome to Installation
English.System=System Requirements
English.Select=Selecting Installation Path
English.Prepar=Preparing for Installation
English.Install=Installing the Game
English.Finish=Finishing the Installation
English.Faster=Faster
English.Smaller=Smaller
English.Better=Better
English.AM=AM
English.PM=PM
English.Sunday=Sunday
English.Monday=Monday
English.Tuesday=Tuesday
English.Wednesday=Wednesday
English.Thursday=Thursday
English.Friday=Friday
English.Saturday=Saturday
English.January=January
English.February=February
English.March=March
English.April=April
English.May=May
English.June=June
English.July=July
English.August=August
English.September=September
English.October=October
English.November=November
English.December=December
If you want an example of that, here's an example from Gupta Prince
https://www.fileforums.com/showthread.php?t=99073

BLACKFIRE69 24-09-2022 10:22

Quote:

Originally Posted by audiofeel (Post 498462)
hitman 797. I know that the language call form can no longer be called after initializing the installer. And I didn't think in this direction like Prince Gupta. thanks. but the whole script will have to be redone

this's not a complete example, just use to get an idea.

non-english texts are indicated by texts surrounded by "[r]" for convenience.
(because i'm too lazy to translate every text. ;))

Code:

[InstallerLangs]
Lang1=Russian
Lang2=English
;Lang3=
;Lang4=
;Lang5=
;Lang6=

Code:

Example:
// LanguageBox

English_LangOkBtn=Ok
English_LanguageTitle=Select Setup Language
English_LanguageMsg=Select the language to use during the installation:

Russian_LangOkBtn=[r]Ok[r]
Russian_LanguageTitle=[r]Select Setup Language[r]
Russian_LanguageMsg=[r]Select the language to use during the installation:[r]

...


download from here : FMXInno_Test.rar

,

BLACKFIRE69 26-09-2022 22:02

Quote:

Originally Posted by audiofeel (Post 498517)
Great! the translation works. I share my example. I have a question.... why on "FMXForm.FCreateBlankForm" is the image cropped on the right side?

when you use more than one image as the background image, the dimensions (width,height) of the images should be approximately the same.
but in this case every image is of the same dimension (800x450) so everything works fine.

BLACKFIRE69 27-09-2022 04:11

Quote:

Originally Posted by audiofeel (Post 498527)
here is a more illustrative example

this isn't an issue with FMXInno. it comes from Delphi itself. so i had to comeup with a fix for this.

this will work...

Code:

with WizardForm do
  begin
    Height := ScaleY(450);
    Width := ScaleX(800);
  end;


BLACKFIRE69 15-10-2022 16:09

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

Code:

- Fixed MinimizeFileName function crashing.
- Fixed minor known bugs/issues so far.
- Some improvements.
- Added transparent GIFs support.

Check the first post.

,

BLACKFIRE69 19-10-2022 13:43

FMXInnoSk v1.0.0.0 - Final Release
 
FMXInnoSk v1.0.0.0 - Final Release


What's new:
Code:

TSkLabel:
 - Single line with multiple styles, colors and sizes.
 - Additional font weights.
 - Control maximum lines.
 - Make words clickable in  text.
 - Custom fonts without installing.

TSkPaintBox:
 - Draw shapes (Rects, RoundRects, Circles, Arcs).
 - Draw Texts (Textblob, SimpleText).
 - Draw Paths (Normal, Discrete, Composed, Sum, Shaders, Fill,
                        Rounding sharp corners).
 - Draw Paragraphs (Multi-Styled Texts).
 - Draw Images.
 - Draw 9-Patch (Draw an image preserving corners from strech).

TSkAnimatedPaintBox:
 - Make any shader using SKSL.
 - Runtime effects.
 - Shaders with mouse position.
 - Load Particles (With mouse iterations).

TSkAnimatedImage:
 - Load animations (Lottie, Telegram stickers and Gifs).

TSkImage:
 - Image Encoding (BMP, GIF, ICO, JPEG, PNG, WBMP, WEBP, PKM,
                        KTX, ASTC, DNG, HEIF, AVIF).
 - Make NonTextureImage, RasterImage, MakeShader and RawShader.

TSkSVG:
 - Load .svg files.


Code:

Downloads:
  Shaders          : Shadertoy
  AnimatedImages  : Lottiefiles
  Stickers          : Lottiefiles

Preview:
  Preview Shader files  (.sksl)  : Shaders.skia
  Preview Particle files (.json)  : Particles.skia
  Preview AnimatedImages (.json)  : Skottie.skia

Other:
  Create a own shader file (.sksl) : Youtube
  Google Skia                      : skia.org
  Skia4Delphi                      : skia4delphi.org


https://i.ibb.co/JcLwz9n/1.pnghttps://i.ibb.co/fMRs52p/2.pnghttps://i.ibb.co/FBTJF4T/3.pnghttps://i.ibb.co/Cw65ryQ/5.pnghttps://i.ibb.co/KwXQD4N/6.pnghttps://i.ibb.co/mJrV69S/7.pnghttps://i.ibb.co/HXM3GKY/8.pnghttps://i.ibb.co/k53yc7y/9.pnghttps://i.ibb.co/Qdgg1pf/11.pnghttps://i.ibb.co/LvvzVK8/12.png

BLACKFIRE69 22-10-2022 22:14

Quote:

Originally Posted by audiofeel (Post 498835)
I wanted to upgrade to version 6.2.1. but as it turned out... why the new "inno" adds on Y=4 and on X=8. why I do not know. it all starts with version 6.0.5. I think that fmx.dll it has nothing to do with it. it's about "inno". I think I've tried everything and I know the difference between "clientWidth and "Width" and "WizardStyle=modern". nothing helped. well, in principle, you can somehow calculate it to be more accurate and stretch the image.


the part that adjusts the dimensions of the image can be done.

i was preparing the last release of version v1.0.0.2. so i'll include the fix with it.
i hope this works. if anything needs to change, be sure to tell me. and thanks for reporting this.


Code:

FMXInno v1.0.0.2 - Last Release

- More Stable.
- More Optimized.
- Fixed Memory Leaks.
- Added File Patching.
  -- procedure wCreateFilePatch(Const fOldFile, fNewFile, fDiffFile: WideString;
        fMatchLength: Cardinal; fPatchCallback: TFDiffCallback);
  -- procedure wApplyFilePatch(Const fOldFile, fNewFile, fDiffFile: WideString);


BLACKFIRE69 23-10-2022 06:44

Quote:

Originally Posted by audiofeel (Post 498837)
Greetings!
for today, the most buggy will be 1-"FLabel" and 2-"FToggleCheckBox". let's start with "FLabel".
1. very sensitive to the order, that is, if you put "AutoSize" at the beginning, then something else will not be the correct result

set "WordWrap = false" in "TextSettings".
Code:

  LB1.FCreate(FMXForm.Handle, 'MyShortText');
  LB1.AutoSize(True);
  LB1.top(NSY(100));
  LB1.left(NSX(100));
  LB1.TextSetting(False, txLeading, txCenter);

  LB1.Text('FMXInno: This is a very long text for Testing FLabel AutoSize.');





Quote:

Originally Posted by audiofeel (Post 498837)
"OnClick", "OnMouseDown", "does not work eitheronMouseEnter", "onMouseLeave", "onMouseUp". but there is one fat plus. for "FLabel" it is not necessary to copy OnMouseDown(@MainMouseDown) every time. this already works and the form is dragged with the mouse behind the "FLabel", although this is not spelled out.

set "HitTest = True" (captures all mouse events)
Code:

  LB1.FCreate(FMXForm.Handle, 'MyShortText');
  LB1.AutoSize(True);
  LB1.top(NSY(100));
  LB1.left(NSX(100));
  LB1.TextSetting(False, txLeading, txCenter);

  LB1.HitTest(True);
  LB1.OnClick(@LBOnClick);
  LB1.OnMouseEnter(@LBMouseEnter);
  LB1.OnMouseLeave(@LBMouseLeave);
  //LB1.OnMouseDown(@FormMouseDown); (*Set HitTest = False*)

  LB1.Text('FMXInno: This is a very long text for Testing FLabel AutoSize.');

Quote:

"For most controls, HitTest is True by default. However, this is not true for all the controls. For example, for TLabel and TPathLabel, HitTest is False by default;
these two controls do not capture the mouse-related events unless you set HitTest to True.
" - Embarcadero





Quote:

Originally Posted by audiofeel (Post 498837)
2. I did this Shortcut[1].FCreate(Page2.Handle, NSX(40), NSY(250), NSX(32), NSY(14), {#Color}, CustomMessage(WizardLang + 'Page2Shortcut1') + '{#C1[59]}'); and got a full w.pu errors. I remove "+ ' {#C1[59]}'" and everything is fine. this only applies to two translation languages, one is fine.

i really want to see your example of this.





Quote:

Originally Posted by audiofeel (Post 498837)
well, not big quibbles. "LockScreen" is triggered on "MsgForm.HandleHWND", although it is written in the script "LockScreen.AutoActivate([FMXForm.HandleHWND, MsgForm.HandleHWND, LangForm.HandleHWND, DirBrowseDlg.HandleHWND, DirBrowseDlg.HandleHWND2, WizardForm.Handle]);"

yes. "MsgForm.HandleHWND" returns the wrong handle, i don't know why.
but there's another way.

Code:

procedure ConfirmExitMsg(Sender: TObject);
begin
  LockScreen.AutoActivateEnabled(False);
  MsgForm.Show;
end;

// ...

procedure ExitNoBtnOnClick(Sender: TObject);
begin
  MsgForm.Close;
  LockScreen.AutoActivateEnabled(True);
end;


BLACKFIRE69 24-10-2022 01:57

Quote:

Originally Posted by audiofeel (Post 498842)
here's an example. initially, I liked Toggle because it looks more like WP, but I couldn't or didn't want to figure out what the reason for the language selection launch failure was. and that's why I made a mandatory
checkboxes. in the script, I commented everything out and did about as I originally wanted

sorry for the late reply. (i had to participate a webinar)
found out what was going on.
Code:

FText must be of type WideString.

FText: String;  ==>  FText: WideString;

Code:

Toggle CheckBox updated. now the user has more options.

 - Rounded corners (optional)  (FRounded: Boolean).
 - Custom colors.
 - Custom positions for text.
 etc.


replace the old lib and handle.iss files with these.

,

BLACKFIRE69 26-10-2022 13:11

Quote:

Originally Posted by audiofeel (Post 498837)
well, not big quibbles. "LockScreen" is triggered on "MsgForm.HandleHWND", although it is written in the script "LockScreen.AutoActivate([FMXForm.HandleHWND, MsgForm.HandleHWND, LangForm.HandleHWND, DirBrowseDlg.HandleHWND, DirBrowseDlg.HandleHWND2, WizardForm.Handle]);"

- Fixed CustomFluentWindow handle.
- Fixed EmptyWizardForm.


latest version has been added to the first post...

BLACKFIRE69 06-11-2022 12:39

FMXInno v1.0.0.2
 
WPI_CorePack - Script Updated!

Code:

- Browse for disks.
- Before/After install:  Run executables or bats, Writing ini and Patching files.

- XBass_f.dll/ XHashNext.dll/ MFT.exe:  Updated, Reduced the file size.
  (AV no longer pops false positive malware detection on these files.)

- Added wFilePatchLib.dll.

,

ADMIRAL 09-11-2022 00:31

got error
 
1 Attachment(s)
i compressed the game by blackfire69 compressor what was 96compressor.
and this is the error.
what i should do???

BLACKFIRE69 10-11-2022 06:11

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

Code:

* Added Dynamic Tiles.
  - Highly customizable.
  - Tile shapes can be regular/rounded corner rectangles or even circles.
  - Allowed users to make their own style tiles.
  - DeltaX, DeltaY and TimeDuration configure the motion of tiles.

* Updated Classes.


BLACKFIRE69 11-11-2022 03:41

Quote:

Originally Posted by audiofeel (Post 499077)
black fire 69 I have a few suggestions for you. add "XHashNext" to the "FMXInno" library (no need to "drag" the dll with you anymore). also add "xbass_f". although "FMXInno" can play music without outside help, but only "Wav" (this is very good, the size decreases, and so on and so forth. but there is one drawback... I never found a way to pause (I searched everywhere and on "stackoverflow") and the "Wav" itself is very large. and the last sentence. add "boolean" "FDark" to other controls, not only buttons and windows, but also text and so on. thank you!

Code:

* Merged XBass_f and XHashNext into FMXInno lib as suggested.
( next time write the sentences separately. otherwise it's hard to read ;) )

,

BLACKFIRE69 12-11-2022 22:03

FMXInnoSkia v1.0.0.0 - Updates
 
FMXInnoSkia v1.0.0.0 - Updates


Code:

* Updated sk4d.dll  from  v3.4.1(skia v98.1.0)  -->  v4.0.1(skia v107.0.0)

Downloads: FMXInnoSk v1.0.0.0 - Final Release [2022-Nov-11].rar


(not compatible with older versions. so don't mess-up)

,

Masquerade 13-11-2022 06:22

Quote:

Originally Posted by audiofeel (Post 499085)
here is another example of what can be done with FMXInno. the work is taken as a basis
https://krinkels.org/resources/yuwiz.416/

I like this design, would it be possible to do an English translation of the script? The Russian characters do not show correctly for me.

ADMIRAL 13-11-2022 07:54

1 Attachment(s)
i compressed the game by 69compressor and i got this error from WPI.CorePack.Installer about test
i found that this installer is using ISArcEx that is not supporting 69compressor but just freaarc 0.666v
what i can do for it???
is there a way for WPI.CorePack.Installer to use isdone instead of ISarcEx??

BLACKFIRE69 14-11-2022 04:44

Quote:

Originally Posted by audiofeel (Post 499085)
here is another example of what can be done with FMXInno. the work is taken as a basis
https://krinkels.org/resources/yuwiz.416/

good job mate. keep going... ;)


for peeps who love Win11 blur effects,
Code:

// function IsOSMatched(const fOsMinimum: DWORD): Boolean;

if IsOSMatched(B_WIN11_21H2) and FBlur then  // Windows 11 or newer
  // enable Fluent blur
else
  // regular



--------------------------------------------------------------------------

Code:

FMXInno:

* Latest update added to first post. [2022-Nov-14]


ADMIRAL 14-11-2022 10:25

inno setup
 
1 Attachment(s)
Quote:

Originally Posted by audiofeel (Post 499046)
If I didn't notice it, I misunderstood. keep the script
https://ibb.co/VDB2v30

Hi Friend Good Job about this script, but which inno setup did you use??
I tested with the inno-setup 5.5.1 ee2 enhanced and it had a problem like this


All times are GMT -7. The time now is 14:45.

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