Максим Кузнецов Posted January 5 Share Posted January 5 Предлагаю реализовать поддержку фреймов как в VCL или FMX, но с одним добавлением - чтобы можно было задать для фрейма возможность загрузки своего содержимого либо по требованию (как в режиме выполнения, так и в режиме дизайна), либо автоматически (как в FMX)). Quote Link to comment Share on other sites More sharing options...
ZDeveloper Posted January 5 Share Posted January 5 А зачем? Есть же возможность использовать форму как фрейм, даже демка есть. Ну а загружайте когда создаете, просто не совсем понятно зачем мне форма без содержимого если оно загружается. Quote Link to comment Share on other sites More sharing options...
Максим Кузнецов Posted January 7 Author Share Posted January 7 В демке формы используются даже под каждый элемент горизонтального списка. Мне кажется - это крайне некрасивое решение. Теоретически фреймы как минимум должны занимать меньше ресурсов. Ну и естественно форму нельзя использовать как фрейм в режиме проектирования. Quote Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted January 7 Administrators Share Posted January 7 Добрый вечер, Мои пять копеек на счет фреймов. Я согласен, что фреймы нужны и полезны. Да, можно встраивать формы, но куда проще кинуть фрейм, чем кодом встраивать форму. Более того, у меня уже почти реализованный вариант фреймов. Однако, все уперлось в то, что RAD Studio не дает API для добавления фреймов для сторонних фреймворков. Поэтому на текущий момент, я научил ее создавать фреймы и работать с ними в дизайнере. Однако, кинуть фрейм на форум через палитру компонентов нельзя. Единственный способ, это руками прописать класс фрейма в dfm файле формы, что для публичного релиза не годится. Чтобы не быть голословным: Quote Link to comment Share on other sites More sharing options...
Александр Клопоцкий Posted January 11 Share Posted January 11 (edited) Добрый вечер, По вашему примеру, как прописать класс фрейма в dfm файле формы? Form.Main.pas unit Form.Main; interface {$SCOPEDENUMS ON} uses System.Types, System.Classes, FGX.Forms, FGX.Forms.Types, FGX.Controls, FGX.Controls.Types, FGX.Layout, FGX.Layout.Types; type TFormMain = class(TfgForm) private { Private declarations } public { Public declarations } end; var FormMain: TFormMain; implementation {$R *.xfm} uses System.SysUtils, FGX.Application, FGX.Dialogs, FGX.Log, Unit1; end. Form.Main.xfm object FormMain: TFormMain Size.Width = 360.000000000000000000 Size.Height = 590.000000000000000000 SavedSizeWidth = 360s SavedSizeHeight = 590s object Frame1: TFrame1 Size.Width = 360.000000000000000000 Size.Height = 640.000000000000000000 SavedSizeWidth = 360s SavedSizeHeight = 640s object fgButton1: TfgButton Text = 'fgButton1' Position.X = 56.000000000000000000 Position.Y = 80.000000000000000000 RelativePosition.Left = 56.000000000000000000 RelativePosition.Top = 80.000000000000000000 Size.Width = 120.000000000000000000 Size.Height = 36.000000000000000000 SavedSizeWidth = 120s SavedSizeHeight = 36s end object fgSwitch1: TfgSwitch Position.X = 224.000000000000000000 Position.Y = 88.000000000000000000 RelativePosition.Left = 224.000000000000000000 RelativePosition.Top = 88.000000000000000000 Size.Width = 44.000000000000000000 Size.Height = 26.000000000000000000 SavedSizeWidth = 44s SavedSizeHeight = 26s ColorDefaultName = 'Theme\Text\Text' end end end Unit1.pas unit Unit1; interface {$SCOPEDENUMS ON} uses System.Types, System.Classes, FGX.Forms, FGX.Forms.Types, FGX.Controls, FGX.Controls.Types, FGX.Layout, FGX.Layout.Types, FGX.Button.Types, FGX.StaticLabel, FGX.Switch, FGX.Button; type TFrame1 = class(TfgForm) fgButton1: TfgButton; fgSwitch1: TfgSwitch; private { Private declarations } public { Public declarations } end; var Frame1: TFrame1; implementation {$R *.xfm} uses System.SysUtils, FGX.Application, FGX.Dialogs, FGX.Log; end. Unit1.xfm object Frame1: TFrame1 Size.Width = 360.000000000000000000 Size.Height = 640.000000000000000000 SavedSizeWidth = 360s SavedSizeHeight = 640s object fgButton1: TfgButton Text = 'fgButton1' Position.X = 56.000000000000000000 Position.Y = 80.000000000000000000 RelativePosition.Left = 56.000000000000000000 RelativePosition.Top = 80.000000000000000000 Size.Width = 120.000000000000000000 Size.Height = 36.000000000000000000 SavedSizeWidth = 120s SavedSizeHeight = 36s end object fgSwitch1: TfgSwitch Position.X = 224.000000000000000000 Position.Y = 88.000000000000000000 RelativePosition.Left = 224.000000000000000000 RelativePosition.Top = 88.000000000000000000 Size.Width = 44.000000000000000000 Size.Height = 26.000000000000000000 SavedSizeWidth = 44s SavedSizeHeight = 26s ColorDefaultName = 'Theme\Text\Text' end end Edited January 11 by Александр Клопоцкий Quote Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted January 11 Administrators Share Posted January 11 7 минут назад, Александр Клопоцкий сказал: По вашему примеру, как прописать класс фрейма в dfm файле формы? Так код фреймов не выпущен. Поэтому сейчас даже если прописать, ничего не будет. Могу в принципе закончить текущий вариант и встроить его в либу, чтобы хотя бы руками можно было бы пока через dfm встраивать Quote Link to comment Share on other sites More sharing options...
tumaso Posted January 11 Share Posted January 11 (edited) Лично я в FMX фреймы создаю динамически в рантайме (через фабрику классов), а необходимости их вставки в режиме разработки у меня нет. Поэтому в FGX устроит поддержка фреймов в текущем варианте Edited January 11 by tumaso Quote Link to comment Share on other sites More sharing options...
dervish00 Posted January 12 Share Posted January 12 13 часов назад, tumaso сказал: Лично я в FMX фреймы создаю динамически в рантайме (через фабрику классов), а необходимости их вставки в режиме разработки у меня нет. Поэтому в FGX устроит поддержка фреймов в текущем варианте + Quote Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted January 25 Administrators Share Posted January 25 После долгих и упорных поисков удалось найти обходное решение, чтобы отобразить кнопку встраивания фрейма на форму. Поддержка фреймов добавлена в 1.15.3.0. 6 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.