Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220

Frame и главная форма

16.01.2018, 16:44. Показов 2650. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите по этому компоненту как можно разместить элементы на фрейме а код оставить в главной форме, а потом просто вызвать этот или иной фрейм. Начал только осваивать и до сих пор не понимаю смысла этого компонента.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2018, 16:44
Ответы с готовыми решениями:

Главная форма
Если в проекте несколько форм, как задать какая форма будет открываться первой, при запуске программы?

Не главная форма topmost
Всем привет. Проблема такая: есть две формы, 1 - главная, 2 - не главная, вызывается из 1. И вот во второй форме есть переключатель, чтобы...

Главная форма с несколькими фреймами
Доброго дня! Подскажите как сделать интерфейс с несколькими вложенными окнами, размер которых мышкой можно изменять?

17
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
16.01.2018, 16:55
Операционная система какая? Форма где создаётся ?
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.01.2018, 17:07  [ТС]
Семерка, EMBARCADERO
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
16.01.2018, 18:21
А как фрейм зависит от операционки (просто интересуюсь)?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
16.01.2018, 19:12
Цитата Сообщение от Dinkin Посмотреть сообщение
А как фрейм зависит от операционки
Изначально тема была в общем разделе по С++, так что неизвестно было, какой фреймворк вообще используется. И под какой ОС.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
16.01.2018, 20:04
Да, потом дошло)
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.01.2018, 21:04  [ТС]
Мне важно то что у меня есть форма на которой около 50 элементов, для ее разгрузки хотелось бы просто создать 5 компонентов
фрейм и на них раскидать с главной формы определенные компоненты не изменяя их свойств и событий, и в коде допустим по нажатию там на кнопку вызывать фрейм и появятся все элементы фрейма а код уже такой как и был.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
16.01.2018, 22:56
Понятно.

Создаем фрейм так:
New->Other->C++BuilderFiles....VCL Frame

Не по теме:


Соединяем теперь главную форму и этот фрейм по нажатию Alt+F11. Да и на будущее если что то с чем то соединить, вызывает это окно и жмакаем.



После того как на фрейм накидали компоненты,его вызвать так:
C++
1
2
3
4
5
6
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
 TFrame3 *fr= new TFrame3(this); //мой фрейм создался под именем TFrame3
 fr->Parent=this;
}
//---------------------------------------------------------------------------
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.01.2018, 09:04  [ТС]
А удалять его надо будет или оставлять в памяти до закрытия приложения, и не изменятся ли свойства при перекидывании. Да и видимость этих элементов на фрейме будет видна и на главной форме или нет?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
17.01.2018, 10:17
Конечно удалять надо будет , иначе будет утечка:

C++
1
2
delete fr;
fr=NULL;
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.01.2018, 10:51  [ТС]
Беда в том что эти элементы остаются на главной форме после перекидывания, их что удалять теперь, да и при переключении на фрейм видно что как будто открывается новая форма и идет наложение на главную форму, тоже вопрос.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
17.01.2018, 11:02
Цитата Сообщение от Игорь1986 Посмотреть сообщение
Беда в том что эти элементы остаются на главной форме после перекидывания
Для того удаляются фрейм, когда он уже не нужен.

Цитата Сообщение от Игорь1986 Посмотреть сообщение
да и при переключении на фрейм видно что как будто открывается новая форма
не представляю как это смотрится, у меня просто появляется что то вроде панели.

Цитата Сообщение от Игорь1986 Посмотреть сообщение
идет наложение на главную форму
Ну это решается "программной версткой".

А если у Вас последняя версия студии, то там еще можно применить новый компонент от TPanel, с множеством "экранов".
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
17.01.2018, 12:22
Конечно удалять надо будет
Это еще с какого перепуга? Владелец фрейму был назначен, в момент его удаления удалится и все, чем он владеет.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
17.01.2018, 12:32
volvo, по коду что я привел как пример, создается "динамически фрейм" и держать его в памяти без надобности необязательно. Притом если у ТС не один такой фрейм (создали, удалили, подгрузили другой).
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.01.2018, 14:28  [ТС]
Все равно не пойму когда переношу компонент на фрейм то код остался на обработчике родительского контрола а не того что перенес, тоесть надо переписывать код еще и во фрейм. И решение переключения фреймов в плавном виде тоже не вижу решения.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,153
Записей в блоге: 3
17.01.2018, 15:42
Игорь1986, Тут дело не во фрейме, это нормальная реакция при работе с пространством имен и присвоениинием обработчиков. В два слова то и не сказать.
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.01.2018, 22:44  [ТС]
А не легче TabControl применить, чего то я думаю это больше загрузит код и проблемы с переносом кода будут.

Добавлено через 3 минуты
Или таки PageControl
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
17.01.2018, 22:48
Хоть бы приблизительно знать, что, собственно требуется ТС-у.. Например, скриншот формы с нарисованным на нем "вот так сейчас", и "вот это хотелось бы сделать по-другому".

А то глухие телефоны какие-то: "Как мне лучше сделать то, о чем вы не имеете понятия, а я вам не покажу?"

Добавлено через 53 секунды
Цитата Сообщение от Игорь1986 Посмотреть сообщение
и проблемы с переносом кода будут
С переносом куда?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2018, 22:48
Помогаю со студенческими работами здесь

Исчезает главная форма при активации из ее обработчика OnShow другой формы в модальном режиме
В главной форме событие OnShow, там прописано открытие другой формы Form4->ShowModal(). Но когда запускаю программу главная форма исчезает...

Главная форма
Как изменить форму которая запускается первой? Есть Form1 и Form2, сразу запускается Form1, как сделать чтоб запускалась вначале Form2? ...

Главная форма
собственно вопрос...когда запускаеш прогу на делфи открывается форма наример 2,а как сделать так что быоткрывалась форма №3 например?

Главная форма
Проблема вот в чем. Создавалась расчетная программа... все действия производились в основном на 1 форме (она является главной как вы...

Не скрывается главная форма
Привет ребят... У меня есть 2 формы Открываю 2 форму по нажатию кнопки на 1 1 должна скрыться (hide) Но она не скрывается ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru