mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 20:59:12 +02:00
Docs: LCL/forms. Updates the TApplication.CreateForm topic to match the order of operations after changes in 872608c3
.
This commit is contained in:
parent
4a705aeb31
commit
e87f549144
@ -15815,28 +15815,96 @@ Calls the AppBringToFront method in the widgetset class.
|
|||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="TApplication.CreateForm">
|
<element name="TApplication.CreateForm">
|
||||||
<short>Creates a Form or component, owned by Application.</short>
|
<short>
|
||||||
|
Creates a Form or component owned by the Application instance.
|
||||||
|
</short>
|
||||||
<descr>
|
<descr>
|
||||||
<remark>
|
<remark>
|
||||||
The method name is slightly misleading, and kept only for Delphi
|
The method name is slightly misleading, and kept only for Delphi
|
||||||
compatibility. The method can actually create any kind of component.
|
compatibility. The method can actually create any kind of component.
|
||||||
</remark>
|
</remark>
|
||||||
<p>
|
<p>
|
||||||
CreateForm creates a Component instance of the given class, and sets the
|
<var>CreateForm</var> creates a new Component instance of the given class, and
|
||||||
pointer to the component variable. If it is a form, it will be added to the
|
sets the pointer to the component variable in <var>Reference</var>. If
|
||||||
list of forms in the application.
|
InstanceClass is a TForm descendant, it will be added to the list of forms in
|
||||||
|
the application. It is assigned as the MainForm in Application if a form has
|
||||||
|
not already been assigned to the property. A form with its FormStyle property
|
||||||
|
set to fsMDIChild or fsSplash is not used as the MainForm for the Application.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
A splash form is shown immediately.
|
If the new form instance is a splash form (FormStyle=fsSplash), it is displayed
|
||||||
|
immediately and a message processing loop is started for the form instance.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Use in a .lpr Project File</b>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The most common use of CreateForm is in the project (.lpr) program file. It is
|
||||||
|
used to initialize the auto-created form instances for the project. For example:
|
||||||
|
</p>
|
||||||
|
<code>
|
||||||
|
program PoFileMaintenance;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
uses
|
||||||
|
{$IFDEF UNIX}
|
||||||
|
cthreads,
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF HASAMIGA}
|
||||||
|
athreads,
|
||||||
|
{$ENDIF}
|
||||||
|
Interfaces, Forms, PotFile, Unit1,
|
||||||
|
{ you can add units after this };
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
RequireDerivedFormResource := True;
|
||||||
|
Application.Scaled := True;
|
||||||
|
Application.Initialize;
|
||||||
|
Application.CreateForm(TForm1, Form1);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
|
</code>
|
||||||
|
<p>
|
||||||
|
<b>Use in Program Code</b>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Another common use of CreateForm is to allocate a dynamic, temporary form
|
||||||
|
instance as needed in program code. For example:
|
||||||
|
</p>
|
||||||
|
<code>
|
||||||
|
function ShowDialog(FormClass: TFormClass): Boolean;
|
||||||
|
var
|
||||||
|
Dlg: TForm;
|
||||||
|
begin
|
||||||
|
Application.CreateForm(FormClass, Dlg);
|
||||||
|
try
|
||||||
|
Result := Dlg.ShowModal in [mrOk, mrYes];
|
||||||
|
finally
|
||||||
|
Dlg.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
</code>
|
||||||
</descr>
|
</descr>
|
||||||
<seealso/>
|
<seealso>
|
||||||
|
<link id="TApplication.MainForm"/>
|
||||||
|
<link id="TApplication.UpdateMainForm"/>
|
||||||
|
<link id="TApplication.ProcessMessages"/>
|
||||||
|
<link id="TCustomForm.FormStyle"/>
|
||||||
|
<link id="TCustomForm.Show"/>
|
||||||
|
</seealso>
|
||||||
</element>
|
</element>
|
||||||
<element name="TApplication.CreateForm.InstanceClass">
|
<element name="TApplication.CreateForm.InstanceClass">
|
||||||
<short>The class type used to create the new instance.</short>
|
<short>
|
||||||
|
The class type used to create the new class instance.
|
||||||
|
</short>
|
||||||
</element>
|
</element>
|
||||||
<element name="TApplication.CreateForm.Reference">
|
<element name="TApplication.CreateForm.Reference">
|
||||||
<short>The variable for the new component reference.</short>
|
<short>
|
||||||
|
The output parameter used to return the new component reference.
|
||||||
|
</short>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<element name="TApplication.UpdateMainForm">
|
<element name="TApplication.UpdateMainForm">
|
||||||
|
Loading…
Reference in New Issue
Block a user