powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подформы
25 сообщений из 44, страница 1 из 2
Подформы
    #39570100
Чингис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Хочу сделать подформу, чтобы не использовать (копировать+вставить). К примеру, форма поиска.

Где, что и как искать?
...
Рейтинг: 0 / 0
Подформы
    #39570110
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это называется фрейм
...
Рейтинг: 0 / 0
Подформы
    #39570117
Чингис, ключевое слово для поиска в google - репозиторий (Object Repository)
...
Рейтинг: 0 / 0
Подформы
    #39570148
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkinэто называется фрейм Dockingпоправил :)
Одна и та же форма может быть и обычной и встроенной в любой контейнер (панель, табшит и пр.)
...
Рейтинг: 0 / 0
Подформы
    #39570168
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот плохая идея формы в формы пихать
...
Рейтинг: 0 / 0
Подформы
    #39570170
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkinвот плохая идея формы в формы пихать

Странно. А чего в ней плохого ?
...
Рейтинг: 0 / 0
Подформы
    #39570262
Чингис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkinэто называется фрейм

да че то такое видел, но не ковырялся

щас посмотрел пошло заработало Frame

docing (вроде тоже интересно) и repository (поковыряюсь)



спс
...
Рейтинг: 0 / 0
Подформы
    #39570264
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiСтранно. А чего в ней плохого ?
Например, неработоспособность в дизайн-тайме.
...
Рейтинг: 0 / 0
Подформы
    #39570376
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerschiСтранно. А чего в ней плохого ?
Например, неработоспособность в дизайн-тайме.

Мне даже трудно представить, как в дизайн-тайме форму в форму вставить.
...
Рейтинг: 0 / 0
Подформы
    #39570380
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiМне даже трудно представить, как в дизайн-тайме форму в форму вставить.
Верно. Поэтому, когда нужно, например, организовать мастер-деталь между вставляемыми фрагментами, с фреймами это делается элементарно, а с формами начинается любимая песенка ламера "я крутой, я всё делаю в ран-тайме".
...
Рейтинг: 0 / 0
Подформы
    #39570488
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня формы наследуются, наследоваться должны и настроечные формы.
Сделал себе такой компонент

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
TFormPanel = class(TCustomPanel)
  public
...
    function ShowModal(DisableModal: boolean = false): TModalResult;
  published
    property Caption;
    property Color;
    property Constraints;
    property BorderStyle: TFormBorderStyle read FBorderStyle write FBorderStyle;
    property OnActivate: TNotifyEvent read FOnActivate write FOnActivate;
    property OnClose: TCloseEvent read FOnClose write FOnClose;
    property OnCloseQuery: TCloseQueryEvent read FOnCloseQuery write FOnCloseQuery;
    property OnCreate: TNotifyEvent read FOnCreate write FOnCreate ;
    property OnShow: TNotifyEvent read FOnShow write FOnShow;
    property OnHide: TNotifyEvent read FOnHide write FOnHide;
  end;

В дизайнтайме на нее кидаю компоненты как на панель, а рантайме по вызову ShowModal открывается в виде формы.
...
Рейтинг: 0 / 0
Подформы
    #39570550
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чингис,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
   AnyForm.Parent := PanelXY; // вот он трюк со встраиваемостью. 
                              // Кстати, работает 1 к 1 и на C# (к делу не относится)

   //дополнительно обрабатываем вставляемою форму
   AnyForm.BorderStyle:=bsNone;
   AnyForm.Align:=alClient;
   AnyForm.Show();
   AnyForm.SetFocus();   
...
Рейтинг: 0 / 0
Подформы
    #39570586
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у них разные очереди сообщений
и табом не походить из одной в другую
в общем, чересчур это...
а фреймы действительно чаще всего лучше динамически создавать
конечно, нужно представлять задачу, чтобы решать точно
но классика слева нажимаем на меню, кнопку, дерево - справа показываем что-то для выбранного элемента
это точно динамические фреймы
...
Рейтинг: 0 / 0
Подформы
    #39570605
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerschiМне даже трудно представить, как в дизайн-тайме форму в форму вставить.
Верно. Поэтому, когда нужно, например, организовать мастер-деталь между вставляемыми фрагментами, с фреймами это делается элементарно, а с формами начинается любимая песенка ламера "я крутой, я всё делаю в ран-тайме".А зачем тебе это в дизайн-тайме?

Сама идея докирования подразумевает непостоянство данной конструкции.

У нас вот докирование используется очень часто. Причем аж на уровне: окно одного приложения на панели окна другого приложения. И ничего, вполне удобно.

P.S. В новой дельфе с виду сделали наконец удобную реализацию Card Panel так что нынче фреймы и докирование станут нужны меньше чем раньше.
...
Рейтинг: 0 / 0
Подформы
    #39570622
Miracle9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знал про "Docking", прикольно.
А что лучше использовать, формы или фреймы?
И зачем тогда вообще разрабатывались фреймы? если тоже самое можно сделать с обычной формой через Docking. И у формы, вроде, будет побольше возможностей.
...
Рейтинг: 0 / 0
Подформы
    #39570623
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miracle9> А что лучше использовать, формы или фреймы?

Эта тема много раз флеймилась, почитай.

> И зачем тогда вообще разрабатывались фреймы?
> если тоже самое можно сделать с обычной формой

Не всё то же самое - в design-time конструировать нельзя.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подформы
    #39571006
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatА зачем тебе это в дизайн-тайме?
Сама идея докирования подразумевает непостоянство данной конструкции.
Самая идея докирования в данном случае - костыль для того, чтобы делать с помощью форм то, для чего предназначены фреймы. Ну а зачем в дизайн-тайме настраивать компоненты, и в том числе связи между компонентами... ты не находишь, что это немного смешной вопрос?
...
Рейтинг: 0 / 0
Подформы
    #39571008
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer> ты не находишь, что это немного смешной вопрос?

Мне в данном контексте более интересен другой вопрос -
что было бы, если бы формы (в т.ч. все формы проекта)
были бы доступны в Frames аналогично фреймам?

P.S. Конечно, сопутствующие технические сложности и
осилили бы борманы сабж - вопрос другой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подформы
    #39571011
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамМне в данном контексте более интересен другой вопрос - что было бы, если бы формы (в т.ч. все формы проекта) были бы доступны в Frames аналогично фреймам?
Ну, они в общем-то и так доступны. Если мне не изменяет память, во времена Delphi 1-2 у формы появилось такое замечательное свойство IsControl. Смысл его был в следующем: разрабатываешь обычную форму, а когда она тебя полностью устраивает, прописываешь в dfm это свойство - и получаешь компонент, который можешь бросать с палитры, настраивать итп. И его, вроде бы, до сих пор никто не отменял :)

Ключевой смысл фрейма в том, что в дизайн-тайме доступны его экземпляры. Так же, как доступны экземпляры компонент (и в принципе доступны экземпляры форм через технологию выше). Были бы так доступны формы - ну, тогда действительно отдельно фреймы не требовались бы. Вообще, конечно, совокупность имеющихся подходов - с репозиторием и всем прочим - напоминает плохо продуманный зоопарк, лучше бы делали меньше, зато проектировали лучше.
...
Рейтинг: 0 / 0
Подформы
    #39571012
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerБыли бы так доступны формы - ну, тогда действительно отдельно фреймы не требовались бы. Вообще, конечно, совокупность имеющихся подходов - с репозиторием и всем прочим - напоминает плохо продуманный зоопарк
Именно. При чём есть подозрение, что это так
"сложилось исторически стихийно" - сначала
сделали что-то одно, потом другое, потом дали
новый интерфейс для второго, но не для первого и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подформы
    #39571025
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerСамая идея докирования в данном случае - костыль для того, чтобы делать с помощью форм то, для чего предназначены фреймы.На заборе тоже написано, однако я считаю что фреймы вообще - кривые костыли, область применения весьма узка.
Сам посуди - форма универсальная. Ее можно и отдельно использовать и докировать.
Фрейм-же можно использовать только в доке.
Из плюсов у него только возможность настраивать его расположение в дизайн-тайме (при форме для этого достаточно предоставить панельку для дока в рантайме).
Возможность же менять свойства элементов уже шлепнутого на форму фрейма - это вкусовщина. Кому польза, а мне так вообще мешает. Мне проще все 1 раз настроить на докируемой форме, и не боятся что я все случайно поломаю на шлепнутых фреймах.

Ну а зачем в дизайн-тайме настраивать компоненты, и в том числе связи между компонентами... ты не находишь, что это немного смешной вопрос?Настройка связей в дизайн-тайме между компонентом формы и элементом фрейма - это имхо вообще bad design practice.
...
Рейтинг: 0 / 0
Подформы
    #39571026
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatНа заборе тоже написано, однако я считаю что
В данном случае это не "на заборе написано" а "у топикстартера есть задача". Поэтому твоя реплика напоминает примерно следующий диалог:

Топикстартер: У меня есть кусок чудесной свинины, как мне лучше приготовить его на ужин?
Советчик: На ужин лучше приготовить рис с бобами! Свинину в помойку! Я считаю, вегетарианство - наш выбор!


Соответственно, не вижу смысла спорить с изначально религиозными взглядами.
...
Рейтинг: 0 / 0
Подформы
    #39571028
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerrgreatНа заборе тоже написано, однако я считаю что
В данном случае это не "на заборе написано" а "у топикстартера есть задача". Поэтому твоя реплика напоминает примерно следующий диалог:

Топикстартер: У меня есть кусок чудесной свинины, как мне лучше приготовить его на ужин?
Советчик: На ужин лучше приготовить рис с бобами! Свинину в помойку! Я считаю, вегетарианство - наш выбор!


Соответственно, не вижу смысла спорить с изначально религиозными взглядами.
Я почему-то уверен, что Чингис сейчас меньше всего интересуется свининой )
...
Рейтинг: 0 / 0
Подформы
    #39571172
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat> Настройка связей в дизайн-тайме между компонентом формы
rgreat> и элементом фрейма - это имхо вообще bad design practice.

*рукалицо*
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подформы
    #39571177
Криптовалютный Хайп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkinвот плохая идея формы в формы пихатьВсегда так делал и всё замечательно работает.
Например, в проекте есть главная форма, на ней PageControl, у него несколько страниц, на каждой странице - пустая Panel. Затем в ран-тайме каждая отдельная форма ложится в свою Panel.
Что вас конкретно не устраивает?
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подформы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]