Проблема с вложением формы

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

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

Ответить
sunrider
новенький
Сообщения: 15
Зарегистрирован: 06.06.2006 22:28:57

Проблема с вложением формы

Сообщение sunrider »

Я попробовал вложить одну форму в другую, по типу того, как это возможно в Delphi. Например :
Form2.Parent:=Form1.Panel1;
Form2.Align:=alClient;
После чего Form2 ведет себя как обычная панель.
Но номер не прошел. Form2 при этом ведет себя, как модальная. Доступ к главной форме естественно блокируется, пока Form2 не будет закрыта. Кто-то с этим уже боролся?
divinusproject
новенький
Сообщения: 49
Зарегистрирован: 16.05.2006 08:25:02
Откуда: Барнаул
Контактная информация:

Сообщение divinusproject »

sunrider
новенький
Сообщения: 15
Зарегистрирован: 06.06.2006 22:28:57

Сообщение sunrider »

Спасибо большое. :-) Я недавно с Лазарем работать начал, после Delphi. Стал искать что-то похожее на TFrame, но не нашел
yuray
новенький
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Сообщение yuray »

sunrider писал(а):Но номер не прошел. Form2 при этом ведет себя, как модальная. Доступ к главной форме естественно блокируется, пока Form2 не будет закрыта. Кто-то с этим уже боролся?


У меня номер проходит для gtk. В Дельфи тоже все нормально. Но когда решил компильнуть проект с gtk в win32, то, действительно, номер не проходит...
Решение которое предложил divinusproject (http://www.freepascal.ru/forum/viewtopic.php?t=899) мне не подходит, так как при создании форм и выводе их на экран у меня вызываются не пустые события onShow.
Подскажите как сделать, чтобы Form2 не блокировала доступ к Form1?
Очень надо. Под угрозой кроссплатформенность проекта...

Lazarus-0.9.24-fpc-2.2.0-20071114-win32
WinXP, SP2

Спасибо
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

1. TFrame уже появился. Пока правда визуально не ложится на форму. Но уже визуально редактируется :-)
2. Я для такого дела ложил на всю форму TPanel. А потом когда нужно было делать вложение, помещал на другую форму не всю форму - а только эту панель.
Но в свете п.1 лучше уже использовать TFrame.
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

yuray писал(а):У меня номер проходит для gtk. В Дельфи тоже все нормально. Но когда решил компильнуть проект с gtk в win32, то, действительно, номер не проходит...
Решение которое предложил divinusproject (http://www.freepascal.ru/forum/viewtopic.php?t=899) мне не подходит, так как при создании форм и выводе их на экран у меня вызываются не пустые события onShow.
Подскажите как сделать, чтобы Form2 не блокировала доступ к Form1?
Очень надо. Под угрозой кроссплатформенность проекта...

Lazarus-0.9.24-fpc-2.2.0-20071114-win32
WinXP, SP2

Спасибо
Известная проблема. См. тут: viewtopic.php?f=5&t=1272&p=8546#p8546
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Сообщение ViTality »

еще могу посоветовать посмотреть как это сделано в примере "advanced" для компонента VirtualTreeView. лучше брать из svn
http://lazarus-ccr.svn.sourceforge.net/ ... w-unstable
yuray
новенький
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Сообщение yuray »

Большое спасибо за ответы!

Решение, которое предлагается здесь viewtopic.php?f=5&t=1272&p=8546#p8546 мне более подходит, так как проект уже существует в gtk и хочеться с минимальными усилиями перенести его в win32.

Еще раз спасибо...
Ответить