С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 18.03.2013
Сообщений: 72

Главная и дочерние формы

12.10.2014, 21:27. Показов 2077. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Задание следующее... Есть программа с главной формой Form1. Там имеется меню, переход по каждому пункту создает новую форму(например Form2), где содержится какая-либо информация. И таких переходов несколько, каждый на новую форму. Как сделать так, чтобы при переходе по пункту меню дочерняя форма разрушалась и открывалась новая? а при переходе с главной формы на дочернюю, главная скрывалась?
Дочернюю форму создаю следующим образом:

C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Form2 = new TForm2(this);
  Form2->ShowModal();
  Form2->Free();
 
}
Все остальные формы создаются аналогично,только в MainMenu
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2014, 21:27
Ответы с готовыми решениями:

Дочерние формы
Собственно 2 вопроса по диалоговым окнам (созданными мной): 1) Как правильно создать диалоговое окно? Я делаю так: Form2->Show() или...

Фреймы вложенные в дочерние Формы
Доброго времени суток Многоуважаемые товарищи. Ищу помощи или направления в решении следующего вопроса. Суть следующая: Имеется...

Дочерние формы (не MDI) и STL::List
Хай всем, нашёл тему по форуму, близкую к моей задаче: https://www.cyberforum.ru/cpp-builder/thread533370.html, но возник вопрос,...

4
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2014, 22:17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Applicaition->ShowMainForm= false;
  Form1->Visible= false;
 
  Form2 = new TForm2(this);
  Form2->ShowModal();
  delete Form2;
 
  Form3 = new TForm3(this);
  Form3->ShowModal();
  delete Form3;
 
   // Итд 
 
  Applicaition->ShowMainForm= true;
  Form1->Visible= true;
}
1
1 / 1 / 1
Регистрация: 18.03.2013
Сообщений: 72
12.10.2014, 22:41  [ТС]
Хорошо,спасибо))я так понимаю, что форма разрушается при ее закрытии. а как сделать следующее..выбираем пункт меню и по ее выбору создается форма, затем мы форму не закрываем,а выбираем снова какой либо пункт меню,но при этом та форма должна закрыться (наверно как то программно).
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.10.2014, 00:35
Цитата Сообщение от Ксения7 Посмотреть сообщение
что форма разрушается при ее закрытии.
При
C++
1
delete Form2;
Добавлено через 1 минуту
Цитата Сообщение от Ксения7 Посмотреть сообщение
выбираем пункт меню и по ее выбору создается форма, затем мы форму не закрываем,а выбираем снова какой либо пункт меню,но при этом та форма должна закрыться (наверно как то программно).
За видимость формы отвечает свойство Visible.
1
1 / 1 / 1
Регистрация: 18.03.2013
Сообщений: 72
13.10.2014, 10:41  [ТС]
Хорошо,попробую
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2014, 10:41
Помогаю со студенческими работами здесь

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

Чтоб Дочерние формы открывались по иерархии от главной формы
Есть главная форма Form1, Form1 - topmost=true, т.е Form 1 отображается поверх всех окон. Нужно чтоб form2 открывалась не поверх всех окон...

Узнать, есть ли у данной формы дочерние формы
Как узнать, есть ли у данной формы дочерние формы. Пока нашел только свойство "Есть ли Mdi дочерние формы", но это же совсем не...

Дочерние формы и выявление активной формы
Всем привет!!! У меня возникла следующая проблема, которую у меня решить не получается (может, опять где-то зациклился)... : У меня...

Дочерние формы
Добрый день. Имеются три формы: MainForm, Form1 и Form2. С MainForm вызывается Form1, которая не является дочерней для MainForm, а вот с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru