FMXInno

DLL FMXInno Minor Update - [2024-Mar-27]

Нет прав для скачивания
* Fixed for higher DPI values.
* Updated IsOSMatched for Windows 11 23H2 (Sun Valley 3) update.
- if IsOsMatched(B_WIN11_23H2) then ...
* Updated FluentAPI v2.0.
* Updated ISArcEx.
* Other quality improvements and bug fixes.

NOTE:
* Effective from this update onward, InnoSetup v5.6.1 or a newer version is required.

now we've the 'TShadowTextClassic' class, which allows users to change the position(X, Y) of the shadow.
Код:
procedure Shadow(FColor: TAlphaColor; OffsetX, OffsetY: Single);
Добавлены функции для извлечения стандартных значков системы:
Код:
function wGetSysDefaultIcons(const Src: WideString; SHLIcoSize: Cardinal; const Buffer: PAnsiChar; var Count: Cardinal): Integer;
function wGetSysDefaultIcons2(const Src, OutImgFile: WideString; SHLIcoSize: Cardinal): Boolean;
function wGetSysDefaultIconsSize(const Src: WideString; SHLIcoSize: Cardinal): Integer;
Данные функции позволяют изменять размер значков:
Код:
const
  SHL_ICO_SZ_LARGE              = $0000;  // 32x32 pixels.
  SHL_ICO_SZ_SMALL              = $0001;  // 16x16 pixels.
  SHL_ICO_SZ_EXTRALARGE         = $0002;  // 48x48 pixels.
  SHL_ICO_SZ_SYSSMALL           = $0003;  // SM_CXSMICON x SM_CYSMICON pixels.
  SHL_ICO_SZ_JUMBO              = $0004;  // 256x256 pixels. (Windows Vista and later.)
here 'Src' could be a file, directory or desktop shortcut (.lnk).

you'll find an example for this in the attachment

at the moment, if i extract icons from a windows ResDll using an index, then those icon files will only be '32x32' in maximum size. so let's use above functions.

Example:
Код:
{ GetSysDefaultIcons }
  if wGetLogicalDriveList(ADrvLst, CDrvIdx) then
  begin
    ASrc[1] := ADrvLst[CDrvIdx];
    ASrc[2] := ADrvLst[Length(ADrvLst) -1];
  end else
  begin
    ASrc[1] := 'C:\';
    if wIsDriveValid('D:\') then ASrc[2] := 'D:\'
    else if wIsDriveValid('E:\') then ASrc[2] := 'E:\'
    else if wIsDriveValid('F:\') then ASrc[2] := 'F:\'
    else if wIsDriveValid('G:\') then ASrc[2] := 'G:\'
  end;

  ASrc[3] := 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe';
  ASrc[4] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Desktop';
  ASrc[5] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Downloads';
  ASrc[6] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Documents';

  P := 0; Q := 0;
Код:
for i := 1 to C_RANGE do
  begin
    if i = (C_RANGE div 2) + 1  {i =4} then
    begin
      P := 0; Q := 160;
    end;

    AImage[i].FCreate(FMXForm.Handle);
    AImage[i].SetBounds(NSX(P + 80), NSY(Q + 80), NSX(100), NSY(100));

  #ifdef AMethod1   /* Extract SysDefaultIcons into a Buffer, then load them into AImage[i]   */
    ImgSize[i] := wGetSysDefaultIconsSize(ASrc[i], SHL_ICO_SZ_JUMBO);
    if ImgSize[i] <> -1 then
    begin
      SetLength(Buffer[i], ImgSize[i]);
      if wGetSysDefaultIcons(ASrc[i], SHL_ICO_SZ_JUMBO, Buffer[i], Count[i]) <> -1 then
        AImage[i].LoadPictureFromBuffer(Buffer[i], Count[i], wmTileStretch);
    end;
  #else             /* Extract SysDefaultIcons into the TmpDir, then load them into AImage[i] */
    ImgFile[i] := ExpandConstant('{tmp}\') + IntToStr(i) + '.png';
    if wGetSysDefaultIcons2(ASrc[i], ImgFile[i], SHL_ICO_SZ_JUMBO) then
    begin
      AImage[i].LoadPicture(ImgFile[i], wmTileStretch);
    end;
  #endif

    P := P + 150;
  end;
  { GetSysDefaultIcons }
'LoadImgFromBuffer' is only supported by the 'FImage' control. Other controls will get this support in future updates.

00.gif
00E.png
00D.png
00C.png
00B.png
00A.png



the 'TMultiView' class has been added. an example for this could be found in the attachment.
  • Like
Реакции: Persianloft
  • Исправлено событие OnClick для FToggleCheckBox
Added new property for the FMXForm.
- procedure CanvasQuality(FCanvasQuality: TCanvasQuality);

Updated ISArcEx.
- CurrentFile in the callback function won't be empty.
FMXInno v1.0.0.2 - Cumulative Updates [2023-July-27]

Code:
Код:
(*) The FMXInno_Fluent_API has been upgraded from v1.0 to v2.0.

- The following systems are now supported.
1. Windows 7
2. Windows 8 / 8.1
3. Windows 10
4. Windows 11
5. Windows 12 (Upcoming)

- Note: Ensure your scripts are up-to-date since the "EnableFluent" function

within "FluentApi.dll" has been modified.

(*) Integrated Blend2d - 2D Vector Graphic Engine, to advanced users.

(*) Updated ChatGPT.

- Support extended to the following models.
1. gpt-3.5-turbo
2. gpt-3.5-turbo-0613
3. gpt-3.5-turbo-16k
4. gpt-4
5. gpt-4-0613
6. gpt-4-32k

(*) Added the capability to create Gradient Forms.
- Customizable.
Code:
Код:
(*) New properties have been introduced into the Form class.
- procedure ChangeFluentTheme(const FDark: Boolean);
- procedure ChangeFluentColor(const VCLColor: TColor);
- procedure PauseFormUpdateOnMove(FValue: Boolean);
- procedure PauseFluentEffectsOnDeacive(FValue: Boolean);
- procedure Invalidate;

(*) Added Global Animator for FMXForm.
- Ex: FMXForm.AnimateFloatWait(ARect.Handle, 'Position.X', NSX(400), 1.2, atInOut, itBack);

(*) Added DiskList blueprint.
- Customizable.

(*) Added percentage indicator for ThinProgressBar class.
- Customizable.

(*) Added StopWatch class.
(*) Added Math class.
Code:
Код:
(*) New properties have been introduced into the following classes.
  1. WinMacTitleBar class.
  2. DynamicTiles class.
  3. SideMenuItem class. 
  4. Fluent Dir/Start Browse class.
 
(*) Added a pair of new functions.
  1. function wIsDriveRemovable(const DriveLetter: WideString): Boolean;
  2. function wGetDriveMediaType(const DriveLetter: WideString): Integer;
    - Return Type:
      1. UNKNOWN
      2. HDD
      3. SSD
      4. SCM
 
(*) Updated BlendOnMove.
(*) Updated CmdOut.
(*) Updated XHashEx. 

(*) Several additional improvements and bug fixes.
01.pngBL_02.gifBL_01.pngFL_03.pngFL_02.pngFL_01.pngFL_00.png02.png00.png
  • Like
Реакции: bundyal
Сверху