Converting a standard Delphi Form to an ActiveForm
By Conrad Herrmann, 25 July 1997
People ask me this question often, and there are several techniques that can do this. The technique that I prefer is easy to learn and the most flexible. In this technique, you make your existing Delphi form a child window of an otherwise ActiveForm. Because it’s a child form, you’ll have to add code to set some of its properties to reflect that fact—to remove the window frame, to align it to its parent’s client area, etc.
This approach has several advantages. The first advantage is that its easy to get up and running—the only thing you need to do that’s not already done for you is to add code to create and embed your form in the ActiveForm. Another advantage is that unlike copying your code to the ActiveForm’s implementation file, this approach doesn’t change your form’s implementation at all. The code you’re familiar with is still familiar. It also means the form’s implementation unit can still be included in a regular Delphi application if you so desire.
Steps to convert a Delphi form to an ActiveForm:
Procedure TActiveForm1.FormCreate(Sender: TObject);
begin
// This code creates a child form that is just a normal
// Delphi TForm.
// This allows the form to be shown both as a normal
// VCL form and as an ActiveForm.
ChildForm := TForm1.Create( Self );
ChildForm.Parent := Self;
ChildForm.Align := alClient;
ChildForm.BorderStyle := bsNone;
ChildForm.Visible := True;
type
TActiveForm1 = class ...
....
public
ChildForm: TForm1;
....
end;