Как выполнить код после создания MDIChild-формы но до появления ее на экране?
Как отобразить MDIChild-форму модально?
1.Убераешь свою MDIChild форму из автосоздания: (MainMenu) Project->Options->Forms. Там её перебрасываешь в: Available forms
2. Переключаешься на свою MDIChild форму и дописываеш в описание класса(пусть например твой класс формы для MDIChild называется TForm2):
Code: |
TForm2 = class(TForm) ... procedure CreateWindowHandle(const Params: TCreateParams); override; private { Private declarations } public
|
3. Реализуешь эту процедуру:
Code: |
procedure TForm2.CreateWindowHandle(const Params: TCreateParams); var Comp:TForm2; begin inherited; Comp:=TForm2(Application.Components[Application.ComponentCount-1]); Comp.Visible:=false; end; |
Code: |
uses Unit2; //ссылка на модуль MDIChild формы
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var vv:TForm2; begin vv:=TForm2.Create(Application); //... Здесь форма не видна vv.Memo1.Lines.Add('123123'); //Типо что-то заполняем на MDIChild форме Caption:='2'; Sleep(2000); Caption:='0'; //.. Здесь форма до сих пор не видна vv.Show; end; |
Автор: Girder
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!