Here is the code to hack TPanel:
unit FMXAdapter;
interface
uses
FMX.Forms,
Vcl.ExtCtrls;
type
TPanel = class(Vcl.ExtCtrls.TPanel)
private
FForm: TCommonCustomForm;
procedure ResizeForm;
procedure SetForm(const AForm: TCommonCustomForm);
protected
procedure Resize; override;
public
property Form: TCommonCustomForm read FForm write SetForm;
end;
implementation
uses
Types,
Winapi.Windows, System.SysUtils,
FMX.Platform.Win;
{ TPanel }
procedure TPanel.Resize;
begin
inherited;
ResizeForm();
end;
procedure TPanel.ResizeForm;
begin
if Assigned(FForm) then
begin
FForm.SetBounds(BorderWidth, BorderWidth, ClientWidth + BorderWidth, ClientHeight + BorderWidth);
end;
end;
procedure TPanel.SetForm(const AForm: TCommonCustomForm);
begin
FForm := AForm;
FForm.BorderIcons := [];
FForm.BorderStyle := TFmxFormBorderStyle.bsNone;
ResizeForm();
FForm.Visible := True;
Winapi.Windows.SetParent(FmxHandleToHWND(FForm.Handle), Handle);
end;
end.
No comments:
Post a Comment