@ Mmarquee, простой способ сделать это - использовать Activeform , это элемент управления ActiveX, который инкапсулирует форму Delphi, вы можете использовать предложение @Francois или следующий подход, который облегчает развертывание любого стандартная форма в качестве элемента управления ActiveX.
Сначала вам нужно создать новый элемент управления ActiveX
альтернативный текст http://i46.tinypic.com/og2lc.png
затем добавьте новую активную форму
альтернативный текст http://i49.tinypic.com/20z1nk1.png
Теперь вам нужно создать новую стандартную форму и разместить здесь свой компонент.
Добавьте использование вашей стандартной формы в блок, где находится TActiveForm
, и объявите переменную вашей стандартной формы следующим образом
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ActiveX, AxCtrls, Project75_TLB, StdVcl,
Form1; //your unit with the standard form
type
TActiveFormX = class(TActiveForm, IActiveFormX)
private
...
public
MyForm : TForm1;
наконец, в событии oncreate ActiveForm вы помещаете код для вызова стандартной формы и встраиваете в activeform.
procedure TActiveFormX.ActiveFormCreate(Sender: TObject);
begin
MyForm := TForm1.Create(Self); //set the owner
MyForm.Parent := Self;//embed the form
MyForm.Align := alClient;
MyForm.BorderStyle := bsNone; //hide the border of the form
MyForm.Visible := True;//makes the form visible
end;
для получения дополнительной информации проверьте ссылки на тезисы