RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TForm.OnCreate Event

Occurs when the form is created.

Pascal
property OnCreate: TNotifyEvent;
C++
__property TNotifyEvent OnCreate;

Use OnCreate to perform special processing when the form is created and is invoked by TCustomForm's constructor. Either implement this event or override the constructor of the form; do not do both. Any objects created in the OnCreate event should be freed by the OnDestroy event. 

When a form is being created and its Visible property is true, the following events occur in the order listed: 

 

  1. OnCreate2. OnShow3. OnActivate4. OnPaint
    Note: Use of the OnCreate event is discouraged in C++ code because it can interact badly with the form's constructor (see OldCreateOrder). It is recommended that you override the form constructor instead.
     

C++ Examples: 

/*
This example requires a new TPageControl, as is, with no new pages
created at design time, and a TUpDown control, also from the Win95
page of the component palette.  The form OnCreate event handler
adds several new TabSheet controls to the Page Control.  The 
UpDown1Click event handler fires when the user clicks the up or
down button on the TUpDown control.  The SelectNextPage method of
the Page Control goes forward the comparison (Button = btNext)
evaluates as true.  If Button is not btNext, the previous Tab Page
is selected.
*/
void __fastcall TForm1::FormCreate(TObject *Sender)
{
const
  TColor colorPalette[12] = {
    clRed, clGreen, clYellow, clBlue, clWhite, clFuchsia,
    clTeal, clNavy, clMaroon, clLime, clOlive, clPurple};
  for (int i = 0; i < 10; i++)
  {
    TTabSheet *page = new TTabSheet(PageControl1);  // These tabsheets are cleaned up by their owner (PageControl1).
    page->PageControl = PageControl1;
    page->Caption = AnsiString("Page") + IntToStr(i);
    page->Brush->Color = colorPalette[i];
  }
}

void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button)
{
  PageControl1->SelectNextPage(Button == btNext);
}

 

Delphi Examples: 

{
This example requires a new TPageControl, as-is, with no new pages
created at design time, and a TUpDown control, also from the Win95
page of the component palette.  The form OnCreate event handler
adds several new TabSheet controls to the Page Control.  The 
UpDown1Click event handler fires when the user clicks the up or
down button on the TUpDown control.  The SelectNextPage method of
the Page Control goes forward the comparison (Button = btNext)
evaluates as true.  If Button is not btNext, the previous Tab Page
is selected.
}
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
const
  colorPalette: Array[0..11] of TColor =
    (clRed, clGreen, clYellow, clBlue, clWhite, clFuchsia,
    clTeal, clNavy, clMaroon, clLime, clOlive, clPurple);
begin
  for i := 0 to 9 do
    with TTabSheet.Create(Self) do
    begin
      PageControl := PageControl1;
      Caption := 'TabSheet #' + IntToStr(i);
      Brush.Color := colorPalette[i];
    end;
end;

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
  PageControl1.SelectNextPage(Button = btNext);
end;

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!