RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TApplication.CreateForm Method

Creates a new form.

Pascal
procedure CreateForm(InstanceClass: TComponentClass; var Reference);
C++
__fastcall CreateForm(TComponentClass InstanceClass,  Reference);

Call CreateForm to dynamically create a form at runtime. Developers do not need to add code for creating most forms, because typically one or more calls to CreateForm are added automatically to the project's source when using the form designer. 

CreateForm creates a new form of the type specified by the FormClass parameter and assigns it to the variable given by the Reference parameter. The owner of the new form is the Application object.

Note: By default, the form created by the first call to CreateForm in a project becomes the application's main form.
 

C++ Examples: 

 

/*
StepBy, CreateForm, Run, Show, Update, Initialize example
This example shows progress of loading forms as an application starts up. The code example is placed in the project source (*.dpr) file. To see project source, select the View | Project Source menu item.  
You will need to set up your project with the following steps before using the code example:
o          Add four additional forms to a default project.
o          Place a TProgressBar on Form5
o          Take the Project|Options|Forms menu option and place Form5 on the available forms list.
o          Change the code of your project (*.dpr) file to look like the example.
*/
#include <vcl\vcl.h>
#include "Unit5.h"
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("TAppCreateForm.cpp", Form1);
USERES("Project1.res");
USEFORM("Unit2.cpp", Form2);
USEFORM("Unit3.cpp", Form3);
USEFORM("Unit4.cpp", Form4);
USEFORM("Unit5.cpp", Form5);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  try
  {
    Application->Initialize();
    SetApplicationMainFormOnTaskBar(Application, true);
    Application->CreateForm(__classid(TForm5), &Form5);
    Form5->ProgressBar1->Max = 100;
    Form5->Show();   // show a splash screen contain ProgressBar control
    Form5->Update(); // force display of Form5
    Application->CreateForm(__classid(TForm1), &Form1);
    Form5->ProgressBar1->StepBy(25);
    Form5->Label1->Caption =  "Form1 loaded successfully.";
    Form5->Update(); // force display of Form5
    Sleep(3000);
    Application->CreateForm(__classid(TForm2), &Form2);
    Form5->ProgressBar1->StepBy(25);
    Form5->Label1->Caption =  "Form2 loaded successfully.";
    Form5->Update(); // force display of Form5
    Sleep(3000);
    Application->CreateForm(__classid(TForm3), &Form3);
    Form5->ProgressBar1->StepBy(25);
    Form5->Label1->Caption =  "Form3 loaded successfully.";
    Form5->Update(); // force display of Form5
    Sleep(3000);
    Application->CreateForm(__classid(TForm4), &Form4);
    Form5->ProgressBar1->StepBy(25);
    Form5->Label1->Caption =  "Form4 loaded successfully.";
    Form5->Update(); // force display of Form5
    Sleep(3000);
//  delete Form5;
    Application->Run();
  }
  catch (Exception &exception)
  {
    Application->ShowException(&exception);
  }
  return 0;
}

 

Delphi Examples: 

{
This example shows progress of loading forms as an
application starts up. The code example is placed in the
project source (*.dpr) file.  To see project source, select
the View | Project Source menu item.
You will need to set up your project with the following steps
before using the code example:
    Add four additional forms to a default project. 
    Place a TProgressBar on Form5
    Take the Project|Options|Forms menu option and place 
          Form5 on the available forms list.
    Change the code of your project (*.dpr) file to look 
          like the example.
}
begin
  Application.Initialize;
  with TForm5.Create(nil) do
  try
    Application.MainFormOnTaskbar := True;
    ProgressBar1.Max := 100;
    Show;  // show a splash screen contain ProgressBar control
    Update; // force display of Form5
    Application.CreateForm(TForm1, Form1);
    ProgressBar1.StepBy(25);
    Label1.Caption :=  'Form1 loaded successfully.';
    Update; // force display of Form5
    Sleep(3000);
    Application.CreateForm(TForm2, Form2);
    ProgressBar1.StepBy(25);
    Label1.Caption :=  'Form2 loaded successfully.';
    Update; // force display of Form5
    Sleep(3000);
    Application.CreateForm(TForm3, Form3);
    ProgressBar1.StepBy(25);
    Label1.Caption :=  'Form3 loaded successfully.';
    Update; // force display of Form5
    Sleep(3000);
    Application.CreateForm(TForm4, Form4);
    ProgressBar1.StepBy(25);
    Label1.Caption :=  'Form4 loaded successfully.';
    Update; // force display of Form5
    Sleep(3000);
  finally
    Free;
  end;
  Application.Run;

 

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!