FMXBridge.dll для Inno Setup

DLL FMXBridge.dll для Inno Setup 01.08

Нет прав для скачивания
К сожалению, пришлось изменить API. Да, это неудобно и требует изменений в коде, но это необходимо для развития и расширения возможностей.

Вместо трёх отдельных форм для Mica, Tabbed и Acrylic теперь используется одна универсальная форма. Тип оформления указывается через параметр TBackdropType.

code_language.pascal:
TBackdropType = (btAuto, btNone, btMain, btTabbed, btAcrylic);

function FCreateWinUIForm(
  WParent: HWND;
  FBackType: TBackdropType;
  FDark, FRound: Boolean
): HWND;
 
audiofeel обновил(а) ресурс FMXBridge.dll для Inno Setup новой записью:

FMXBridge - последние изменения

Основное изменение - наконец разобрались с правильной схемой владения окнами.

Раньше была неправильная модель: FMX-окно считалось отдельным top-level окном, а Inno Setup выступал просто как внешний хозяин. Из-за этого начали появляться побочные эффекты с окнами, отображением в системе.

Сейчас сделано как в обычном приложении:

окно FMX имеет правильный Owner через Application;
убрана лишняя независимость окна от приложения;
поведение окна стало ближе к обычному FMX-приложению.

После этого...

Узнать больше об этом обновлении...
 
audiofeel обновил(а) ресурс FMXBridge.dll для Inno Setup новой записью:

FMXBridge - последние изменения

Полностью переработан компонент FWinTitleBar

Интерфейс компонента был переработан и расширен:
code_language.pascal:
FWinTitleBar = interface(IUnknown)
  '{31E29020-AF92-4FDB-9067-B8C573804370}'
  function FCreate(FParent: TFmxObject; FDark: Boolean): TFmxObject;
  procedure Cursor(FCursor: TCursor);
  procedure Height(FHeight: Single);
  procedure Offset(PY: Single);
  procedure SetClipParent(FValue: Boolean);
  procedure...

Узнать больше об этом обновлении...
 
После этого пришлось заново пройтись по внутреннему позиционированию и размеру клиентской области. Исправлена работа с client area - теперь содержимое окна правильно располагается относительно реального клиентского пространства, а не относительно внешнего размера окна.
11.png

code_language.pascal:
procedure FMXDesigning;
begin
  FMXForm.FCreateBlankForm(WizardForm.Handle, 0, '', True);

  Test.FCreate(FMXForm.Handle);
  Test.Align(Client);
  Test.StrokeColor(ALRED);
  Test.StrokeSetting(1, scRound, sdSolid, sjMiter);
  Test.HitTest(False);
end;

22.png
 
Последнее редактирование:
Назад
Сверху