My project VCL that will use my TForm FMX (FireMonkey)
-------------------------------------------------------------------------------
unit uVCLFormMain;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls,
Vcl.Menus,
//
uFMXForm_inVCLproject // in my package with my objects FMX
//
;
type
TVCLFormMain = class(TForm)
Label1: TLabel;
MainMenu1: TMainMenu;
Files1: TMenuItem;
About1: TMenuItem;
CallFMXform1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
procedure CallFMXform1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
VCLFormMain: TVCLFormMain;
implementation
{$R *.dfm}
procedure TVCLFormMain.CallFMXform1Click(Sender: TObject);
var
lFMXForm_inVCLprj: TfrmFMXForm_inVCLproject;
begin
lFMXForm_inVCLprj := TfrmFMXForm_inVCLproject.Create(nil);
try
lFMXForm_inVCLprj.ShowModal;
finally
Self.SetFocus;
//
lFMXForm_inVCLprj.DisposeOf;
lFMXForm_inVCLprj := nil;
end;
end;
procedure TVCLFormMain.Exit1Click(Sender: TObject);
begin
Close;
end;
end.
my TForm FireMonkey (FMX) used in my VCL project
-------------------------------------------------------------------------------
unit uFMXForm_inVCLproject;
interface
uses
System.SysUtils,
System.Types,
System.UITypes,
System.Classes,
System.Variants,
FMX.Types,
FMX.Controls,
FMX.Forms,
FMX.Graphics,
FMX.Dialogs,
FMX.Layouts,
FMX.StdCtrls,
FMX.Controls.Presentation;
type
TfrmFMXForm_inVCLproject = class(TForm)
AniIndicator1: TAniIndicator;
Layout1: TLayout;
Label1: TLabel;
StyleBook1: TStyleBook;
ToolBar1: TToolBar;
sbtnClickMe: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure sbtnClickMeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFMXForm_inVCLproject: TfrmFMXForm_inVCLproject;
implementation
{$R *.fmx}
procedure TfrmFMXForm_inVCLproject.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AniIndicator1.Enabled := False;
end;
procedure TfrmFMXForm_inVCLproject.FormCreate(Sender: TObject);
begin
Position := TFormPosition.ScreenCenter;
end;
procedure TfrmFMXForm_inVCLproject.FormShow(Sender: TObject);
begin
AniIndicator1.Enabled := False;
AniIndicator1.Enabled := True;
end;
procedure TfrmFMXForm_inVCLproject.sbtnClickMeClick(Sender: TObject);
begin
ShowMessage('Hello FMX project');
end;
end.
my project FireMonkey (FMX) that will use my TForm VCL
-------------------------------------------------------------------------------
unit uFMXFormMain;
interface
uses
System.SysUtils,
System.Types,
System.UITypes,
System.Classes,
System.Variants,
FMX.Types,
FMX.Controls,
FMX.Forms,
FMX.Graphics,
FMX.Dialogs,
FMX.Controls.Presentation,
FMX.StdCtrls,
FMX.Layouts,
//
uVCLForm_inFMXproject // in my package with my objects VCL
//
;
type
TFMXFormMain = class(TForm)
Layout1: TLayout;
ToolBar1: TToolBar;
sbtnCallVCLForm: TSpeedButton;
sbtnCloseApp: TSpeedButton;
Label1: TLabel;
StyleBook1: TStyleBook;
procedure FormCreate(Sender: TObject);
procedure sbtnCallVCLFormClick(Sender: TObject);
procedure sbtnCloseAppClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FMXFormMain: TFMXFormMain;
implementation
{$R *.fmx}
procedure TFMXFormMain.FormCreate(Sender: TObject);
begin
Position := TFormPosition.ScreenCenter;
end;
procedure TFMXFormMain.sbtnCallVCLFormClick(Sender: TObject);
var
lVCLForm_inFMXprj: TfrmVCLForm_inFMXproject; // my TForm VCL
begin
lVCLForm_inFMXprj := TfrmVCLForm_inFMXproject.Create(nil);
try
lVCLForm_inFMXprj.ShowModal;
finally
Self.Active := True;
//
lVCLForm_inFMXprj.DisposeOf;
lVCLForm_inFMXprj := nil;
end;
end;
procedure TFMXFormMain.sbtnCloseAppClick(Sender: TObject);
begin
Close;
end;
end.
-------------------------------------------------------------------------------
my TForm VCL used in my project FireMonkey (FMX)
-------------------------------------------------------------------------------
unit uVCLForm_inFMXproject;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls,
Vcl.ExtCtrls,
Vcl.ComCtrls,
Vcl.ToolWin,
Vcl.Menus,
System.ImageList,
Vcl.ImgList,
System.Actions,
Vcl.ActnList,
Vcl.StdActns,
Vcl.Themes;
type
TfrmVCLForm_inFMXproject = class(TForm)
Label1: TLabel;
Panel1: TPanel;
Animate1: TAnimate;
ToolBar1: TToolBar;
Button1: TButton;
Button2: TButton;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ComboBox1: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmVCLForm_inFMXproject: TfrmVCLForm_inFMXproject;
implementation
{$R *.dfm}
const
lPathStyles = 'C:\Users\Public\Documents\Embarcadero\Studio\20.0\Styles';
procedure TfrmVCLForm_inFMXproject.Button1Click(Sender: TObject);
begin
ShowMessage('Hello VCL project');
end;
procedure TfrmVCLForm_inFMXproject.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TfrmVCLForm_inFMXproject.ComboBox1Change(Sender: TObject);
begin
if (ComboBox1.Items.Count > 0) then
TStyleManager.SetStyle(ComboBox1.Text);
end;
procedure TfrmVCLForm_inFMXproject.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Animate1.Active := False;
end;
procedure TfrmVCLForm_inFMXproject.FormCreate(Sender: TObject);
var
lStyleName: string;
begin
Position := TPosition.poScreenCenter;
//
for lStyleName in TStyleManager.StyleNames do
ComboBox1.Items.Add(lStyleName);
//
if (ComboBox1.Items.Count > 0) then
ComboBox1.ItemIndex := 0;
end;
procedure TfrmVCLForm_inFMXproject.FormShow(Sender: TObject);
begin
Animate1.Active := False;
Animate1.Active := True;
end;
initialization
finalization
end.