При создании дочерней формы, она не появляется на экране при вызове её из главной формы( Главная форма FormStyle: fsMDIForm; Name:Form1; Дочерняя FormStyle: fsMDIChild; Name:Form2;
Код
procedure TForm1.Button1Click(Sender: TObject); begin Form2:=TForm2.Create(nil);//форма не появляется,в чём проблема? end;
мисс_граффити
18.02.2007 0:41
Забыл про
Form2.Show; Form2.Visible:=true;
что-нибудь одно...
Vardes
18.02.2007 0:49
Цитата(мисс_граффити @ 17.02.2007 20:41)
Забыл про
Form2.Show; Form2.Visible:=true;
что-нибудь одно...
Да вот и именно, что не забыл...это всё указано...всё равно не работает...вот если сделать так FormStyle: fsNormal; Name:Form2; То тогда всё работает, но мне это не подходит(((
volvo
18.02.2007 0:51
Цитата
это всё указано...всё равно не работает...
ГДЕ указано? Ты что, на форуме телепатов? В том куске, что ты ПОКАЗАЛ - этого нет. Или показывай проект, или иди в google - там есть форумы другой направленности!
Vardes
18.02.2007 1:11
Это ведь всё можно указать в инспекторе объектов...тем более метод Show не надо указывать при создании формы, она и так должна высветится... У меня вот такой вопрос появился, какое св-во отвечает за то, что дочерняя форма становится прозрачной по отношению к главной?
TarasBer
18.02.2007 2:06
Цитата(Vardes @ 17.02.2007 21:11)
Это ведь всё можно указать в инспекторе объектов...тем более метод Show не надо указывать при создании формы, она и так должна высветится... У меня вот такой вопрос появился, какое св-во отвечает за то, что дочерняя форма становится прозрачной по отношению к главной?
Эээ... А если она есть в инспекторе объектов, то это не значит, что она сама создаётся? В смысле, что писать креате не надо... Просто Form2.Show и всё...
klem4
18.02.2007 2:40
Цитата
тем более метод Show не надо указывать при создании формы, она и так должна высветится...
Это если форма создается приложением (как главная форма), а дочернюю ты как бы сам создаешь, динамически, и вызывая конструктор TForm.Create(AOwner: TComponent) ничего "высвечиться" не должною. Посмотри аттач, этот проект у тебя нормально работает ?
Vardes
18.02.2007 2:51
Да...я также у себя сделал(именно такой же пример)...всё работает...только вот не понимаю, почему дочерняя форма является прозрачной... А вот втсавляю дочернюю форму в свой проект, не работает(((Может я какое-нить свой-во главной формы не так указал...
klem4
18.02.2007 3:02
А вторая форма обязательно должна быть дочерней ? Тоесть чтобы ее можно было пермещать только "внутри" главной ?
Vardes
18.02.2007 3:07
Ну да...хотелось бы...Дело в том, что как я уже говорил, помещая форму Fsnormal, всё работает...И вот ещё, почему же дочерняя форма прозрачная?
Добавлено через 19 мин. Понял теперь в чём проблема...У меня на главной форме есть компонент как Pagecontrol...из-за него дочерней формы как раз и не видно...осталось понять, как её сделать видимой, и чтоб она вылезала поверх всех окон)
Добавлено через 2 мин. Теперь я понял в чём проблема...у меня на главной форме есть компонет PageControl...из-за него и не видно дочерней формы...Теперь вопрос,как её сделать видимой (чтоб она поверх всех окон вылезала)?
Добавлено через 3 мин. Теперь я понял в чём проблема...у меня на главной форме есть компонент PageControl, из-за него как раз и не видно дочерней формы...Теперь осталось разобраться с её видимостью)))
Vardes
18.02.2007 4:17
Понял, в чём у меня была проблема...У главной формы есть компонент PageControl, поэтому дочернего окна не было видно...Проблема исправилась, сделав FormStyle=fsStayOnTop...Вопрос, в чём же тогда разница между mdichild и stayontop, нельзя ли мою проблему исправить, пользуясь mdichild (нужно,чтоб дочерняя форма не вылезала за пределы главной)?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.