А может быть и не формы, наткнулся на идею создания компонента вне формы, поискал, но кроме самой идеи ничего не нашел.
Собсвенно задача: написать программу по-типу "Записок" в Win7 т.е. с возможностью открытия множесва окон (немодально), с перетаскиванием по рабочему столу и произвольным закрытием отдельных окон, но с главным окном из которого (и только из него) открывется произвольное количество окон, которые уничтожаются при закрытии приложения (последнее понятно Owner:= Form1, ну или как-то так).
Можно по-другому сформулировать: MDI приложение где у главного окна только меню, а дочерние открываются вне родительской формы.
Третий вариант самодельный класс наследник, например, TWinControl, вне главной формы, но по-моему это гемморойный вариант.
Вобщем вот набросок:
Код:
unit MineForms;
------------
type
TCmbMetters = class(TComboBox)
public
constructor Create(AOwner: TComponent); override;
end;
TFrmProfile = class(TForm)
CmbMetters: TCmbMetters;
public
constructor Create(AOwner: TComponent); override;
end;
implementation
constructor TCmbMetters.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Parent:= AOwner as TForm;
Width:= 200;
Text:= '-Выберете материал-';
with Items do
begin
Append('Сталь');
Append('Нержавейка');
Append('Д16');
end;
end;
constructor TFrmProfile.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
CmbMetters:= TCmbMetters.Create(Self);
end;
end.
Код:
unit Unit1;
-------------------
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var F: TFrmProfile;
begin
F:= TFrmProfile.Create(Application);
end;
end.
ругается, хочет ресурсов: "... EResNotFound ... 'Resource not found' ..."
Да! Важно - динамические окна нужны сами по-себе, ни какие данные из них, ни в главное ни в дочение окна не передаются.