- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


2896:How to use a form several times

KEYWORDS: multiple use of a form AREA: General

multiple forms

Q:  I have a form that is a sort of template.  I want to be
able to create and show the same form several times (with
different data in the fields).  How do I use the same form
several times?

A:  You need to make modeless window by calling create and
show for each form instance, like this:

with TMyForm.create(self) do show;

To demonstrate how to use and control these new forms, here is
an example that changes the caption and name of each form that
is created.  You have access to it through the form's component
array.  This example uses an about box (named "box") as the
other form.  Also, there is a variable called "TheFormCount"
that keeps track of how many times the form is instantiated.


procedure TForm1.Button1Click(Sender: TObject);
begin
  with TBox.create(self) do begin
    Name := 'AboutBox_' + intToStr(TheFormCount);
    caption := 'About Box # ' + intToStr(TheFormCount);
    Show;
  end;
  inc(TheFormCount);
end;

These forms can be found and used by their name by means of the
FindComponent method used something like this:

with Form1.FindComponent('AboutBox_' + IntToStr(Something)) as TForm do
    DoSomethingHere;


        TI



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile