![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() А может быть и не формы, наткнулся на идею создания компонента вне формы, поискал, но кроме самой идеи ничего не нашел.
Собсвенно задача: написать программу по-типу "Записок" в 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. Да! Важно - динамические окна нужны сами по-себе, ни какие данные из них, ни в главное ни в дочение окна не передаются. |