Разместить форму на панели?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Разместить форму на панели?

Сообщение CynicRus » 09.07.2012 14:46:01

Приветствую уважаемых форумчан. У приложения - 2 формы, необходимо вторую форму разместить на компоненте TPanel первой. Каким образом я могу это сделать?
Пробовал указать в OnCreate второй формы - Form1.panel, пробовал создавать форму 2 из формы 1 указывая в качестве владельца необходимый компонент - все без толку. Вылетает сегфолт и все.
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: Разместить форму на панели?

Сообщение stikriz » 09.07.2012 16:37:33

Попробовал у себя в проекте:

Код: Выделить всё
var F: TfAbout;
begin
F:=TfAbout.Create(Panel8);
F.Parent:=Panel8;
F.Visible:=true;
end;


Даже двигается за капшн :-)
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Разместить форму на панели?

Сообщение Padre_Mortius » 09.07.2012 23:29:14

можно TFrame использовать
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Разместить форму на панели?

Сообщение CynicRus » 10.07.2012 09:20:36

Спасибо за ответы, выкрутился так:
Код: Выделить всё
procedure TDsgnForm.FormShow(Sender: TObject);
begin
  self.Parent:=CompForm.Panel1;
end;                 
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: Разместить форму на панели?

Сообщение amateur » 10.07.2012 11:21:33

stikriz может я чет не понимаю, но у меня на данный момент, данный код вообще не приносит результата (формочки нет вообще). Хотя стандартное решение...

Когда мне нужно было вывести какую то форму в другую я перепробывал разное и пришел к выводу фреймам легче (в лазаре). А единственное что нормально работает когда на вторую форму добавляю панель и потом Form2.Panel2.Parent:=Panel1; и в Pane1.ChildSizing настроил. Только все эт кривовато выглядит...

Вин7,хп, лазарь 1.1 фпс 2.6
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Разместить форму на панели?

Сообщение stikriz » 10.07.2012 11:27:10

amateur писал(а):stikriz может я чет не понимаю

Visible:=true;
У меня этот код работает.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Разместить форму на панели?

Сообщение CynicRus » 10.07.2012 11:27:58

Ну у меня ещё заработал вот такой вариант:
глобальная переменная:
Код: Выделить всё
var
f: TDsgnForm;

затем в OnCreate основной формы:
Код: Выделить всё
f:=TDsgnForm.Create(self);
  f.Parent:=CompForm.Panel1;
  f.Show;             

И все замечательно.
PS: Win 7, lazarus 9.30.4, fpc 2.6.0
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: Разместить форму на панели?

Сообщение stikriz » 10.07.2012 11:30:51

Постивьте, на всякий случай Left:=0; Top:=0;Видимо, она далеко от видимой части панели. Ну, это мне мой локатор дальнего действия подсказывает.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Разместить форму на панели?

Сообщение CynicRus » 10.07.2012 11:34:54

Спасибо, так стало значительно лучше-)
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: Разместить форму на панели?

Сообщение stikriz » 10.07.2012 11:35:47

Вот:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Разместить форму на панели?

Сообщение Brainenjii » 10.07.2012 12:08:02

а вместо MDI такое использовать можно? ^_^
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Разместить форму на панели?

Сообщение stikriz » 10.07.2012 12:32:52

В принципе, да. Окошко не выходит за рамки панели. Надо будет только распахивать и сворачивать правильно.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Разместить форму на панели?

Сообщение Mr.Smart » 10.07.2012 12:36:16

Brainenjii писал(а):а вместо MDI такое использовать можно? ^_^

ХМ. Теоретически можно (сейчас попробовал. по крайней мере винда). Только нужно кое какие действия самому реализовать.

з.ы. Как я сам раньше не додумался ... :oops:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 241

Рейтинг@Mail.ru