Помощь - Поиск - Пользователи - Календарь
Полная версия: Создание дочерней формы....
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Vardes
При создании дочерней формы, она не появляется на экране при вызове её из главной формы(
Главная форма
FormStyle: fsMDIForm;
Name:Form1;
Дочерняя
FormStyle: fsMDIChild;
Name:Form2;

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=TForm2.Create(nil);//форма не появляется,в чём проблема?
end;


мисс_граффити
Забыл про
Form2.Show;
Form2.Visible:=true;

что-нибудь одно...
Vardes
Цитата(мисс_граффити @ 17.02.2007 20:41) *

Забыл про
Form2.Show;
Form2.Visible:=true;

что-нибудь одно...

Да вот и именно, что не забыл...это всё указано...всё равно не работает...вот если сделать так
FormStyle: fsNormal;
Name:Form2;
То тогда всё работает, но мне это не подходит(((
volvo
Цитата
это всё указано...всё равно не работает...
ГДЕ указано? Ты что, на форуме телепатов? В том куске, что ты ПОКАЗАЛ - этого нет. Или показывай проект, или иди в google - там есть форумы другой направленности!
Vardes
Это ведь всё можно указать в инспекторе объектов...тем более метод Show не надо указывать при создании формы, она и так должна высветится...
У меня вот такой вопрос появился, какое св-во отвечает за то, что дочерняя форма становится прозрачной по отношению к главной?
TarasBer
Цитата(Vardes @ 17.02.2007 21:11) *

Это ведь всё можно указать в инспекторе объектов...тем более метод Show не надо указывать при создании формы, она и так должна высветится...
У меня вот такой вопрос появился, какое св-во отвечает за то, что дочерняя форма становится прозрачной по отношению к главной?

Эээ... А если она есть в инспекторе объектов, то это не значит, что она сама создаётся? В смысле, что писать креате не надо... Просто Form2.Show и всё...
klem4
Цитата
тем более метод Show не надо указывать при создании формы, она и так должна высветится...


Это если форма создается приложением (как главная форма), а дочернюю ты как бы сам создаешь, динамически, и вызывая конструктор TForm.Create(AOwner: TComponent) ничего "высвечиться" не должною. Посмотри аттач, этот проект у тебя нормально работает ?


Vardes
Да...я также у себя сделал(именно такой же пример)...всё работает...только вот не понимаю, почему дочерняя форма является прозрачной...
А вот втсавляю дочернюю форму в свой проект, не работает(((Может я какое-нить свой-во главной формы не так указал...
klem4
А вторая форма обязательно должна быть дочерней ? Тоесть чтобы ее можно было пермещать только "внутри" главной ?
Vardes
Ну да...хотелось бы...Дело в том, что как я уже говорил, помещая форму Fsnormal, всё работает...И вот ещё, почему же дочерняя форма прозрачная?

Добавлено через 19 мин.
Понял теперь в чём проблема...У меня на главной форме есть компонент как Pagecontrol...из-за него дочерней формы как раз и не видно...осталось понять, как её сделать видимой, и чтоб она вылезала поверх всех окон)

Добавлено через 2 мин.
Теперь я понял в чём проблема...у меня на главной форме есть компонет PageControl...из-за него и не видно дочерней формы...Теперь вопрос,как её сделать видимой (чтоб она поверх всех окон вылезала)?

Добавлено через 3 мин.
Теперь я понял в чём проблема...у меня на главной форме есть компонент PageControl, из-за него как раз и не видно дочерней формы...Теперь осталось разобраться с её видимостью)))
Vardes
Понял, в чём у меня была проблема...У главной формы есть компонент PageControl, поэтому дочернего окна не было видно...Проблема исправилась, сделав FormStyle=fsStayOnTop...Вопрос, в чём же тогда разница между mdichild и stayontop, нельзя ли мою проблему исправить, пользуясь mdichild (нужно,чтоб дочерняя форма не вылезала за пределы главной)?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.