Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/27: Рейтинг темы: голосов - 27, средняя оценка - 5.00
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30

Как получить список всех дочерних форм приложения?

10.03.2010, 19:34. Показов 5841. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как получить список всех дочерних форм приложения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2010, 19:34
Ответы с готовыми решениями:

Значки на панели задач для всех форм приложения
Всем привет. Вопрос собственно такой. Есть приложение с несколькими формами. Каким образом можно реализовать, что каждая форма будет иметь...

Как сделать так чтобы при открытие дочерних форм (через MainMenu) появлялась только одна вкладка TabSet
Такая ситуация, существует главная форма и дочерние(MDI), как сделать так чтобы при открытие дочерних форм (через MainMenu) появлялась...

Как получить список дочерних форм?
Столкнулся с проблемой,у меня есть главная форма, необходимо закрыть все дочерние формы. Как я понял, для этого необходимо получить список...

13
 Аватар для [XandeR]
31 / 31 / 3
Регистрация: 18.03.2009
Сообщений: 381
Записей в блоге: 2
12.03.2010, 10:53
почему же никто так и не ответил, мне тоже интересно
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
12.03.2010, 11:02
Evg, в многооконном приложении можно получить список открытых окно, а вот список дочерних окон, если я не ошибаюсь, получить нельзя никак... потому что в этом нет необходимости, ведь ты и так видишь свой проект... ну может я и ошибаюсь...
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.03.2010, 11:25  [ТС]
Понятно, что я сам согу вести список окон. Сам могу отслеживать последовательность, в которой они активировались (чтобы иметь окна в том порядке, в котором будет переключаться ctrl-tab). Грубо говоря повторять тот список, который уже ведётся в системе. Но почему бы этот список не предоставить программисту, чтобы не изобретать велосипедов? Либо оно зашито где-то глубоко.

В общем, в инете я ничегонайти не смог, тут тоже. так что, судя по всему, придётся ручками формировать список
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
17.03.2010, 21:22  [ТС]
Проверять пока лениво, но похоже, что сие делает функция EnumChildWindows
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
18.03.2010, 09:38
Цитата Сообщение от Evg Посмотреть сообщение
Проверять пока лениво, но похоже, что сие делает функция EnumChildWindows
она перечисляет только созданные, открытые и прорисованные объекты (причем не обязательно окна, а еще и кнопки поля ввода и т.п.)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
18.03.2010, 13:24  [ТС]
Значит не катит. В любом случае интерфейс слишком не удобен для использования. Создавать ручками список окон гораздо проще

Добавлено через 28 минут
Кстати, такой вот вопрос. Переключение по ctrl-tab и активизация дочернего окна при тыкании в него мышкой - это всё сделано на уровне WinApi или это отрабатывается библиотекой VCL?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
18.03.2010, 14:09
Цитата Сообщение от Evg Посмотреть сообщение
Значит не катит. В любом случае интерфейс слишком не удобен для использования. Создавать ручками список окон гораздо проще

Добавлено через 28 минут
Кстати, такой вот вопрос. Переключение по ctrl-tab и активизация дочернего окна при тыкании в него мышкой - это всё сделано на уровне WinApi или это отрабатывается библиотекой VCL?
VCL это такая же обертка над WinApi что и MFC, ну чуть попроще (для юзера) сделанная, а окнами и горячими кнопками система управляет, и если не назначены иные действия на горячие кнопки, то система будет управлять, в соответствии со своим алгоритмом.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
18.03.2010, 14:21  [ТС]
В итоге ответ на вопрос какой? Если не делать дополнительных телодвижений (т.е. в билдере нарисовали родительское окно и дочернее и больше ничегоне делаем), то указанными вещами заведует WinApi или VCL/MFC?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
18.03.2010, 14:25
Цитата Сообщение от Evg Посмотреть сообщение
В итоге ответ на вопрос какой? Если не делать дополнительных телодвижений (т.е. в билдере нарисовали родительское окно и дочернее и больше ничегоне делаем), то указанными вещами заведует WinApi или VCL/MFC?
WinApi
1
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
18.03.2010, 19:11
Evg:
Советую посетить это:
http://worldcpp.vingrad.ru/
Cэкономишь кучу времени о освоении графического интерфейса и многих других вещей,
особенно если скачаешь весь архив.
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
18.03.2010, 19:53  [ТС]
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Evg:
Советую посетить это:
http://worldcpp.vingrad.ru/
Cэкономишь кучу времени о освоении графического интерфейса и многих других вещей,
особенно если скачаешь весь архив.
Выборочно потыкался, но с ходу не нашёл ответов на те вопросы, которые остались для меня без ответа. Беглый просмотр скорее говорит о том, что я навряд ли найду там что-то, что не смог бы найти без этого сайта. Но одно могу сказать точно - сайт сделан очень удобно, не то что cyberguru
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
18.03.2010, 20:01
Но про функции работы с окнами там точно написано, EnumChild и другие там были.
Там про работу с MFC в Visual C++ хорошо написано, про Builder не читал, может тоже что то есть.
0
0 / 0 / 1
Регистрация: 10.11.2011
Сообщений: 8
24.10.2012, 12:55
Возможно, кому-то и пригодится:

1. С помощью Screen->Forms можно получить список всех видимых форм приложения
2. Главную форму приложения можно получить, используя Application->MainForm
3. Список подчиненных форм или просто доступ к ним можно получить, используя функцию, похожую на:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void GetChildForms(TForm *parentForm)
{
 TComponent *c;
 
 for(int i=0;i<parentForm->ComponentCount;i++)
 {
  c=parentForm->Components[i];
  if(c->InheritsFrom(__classid(TForm))) // компонент - форма?
  {    
   // далее можно поискать подчиненные подчиненных
    GetChildForms((TForm *)c);
   // внести в список или что-то другое
  }
 }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.10.2012, 12:55
Помогаю со студенческими работами здесь

Как получить список всех открытых форм?
subj

Получить список всех форм
Как получить список всех форм?

Механизм закрытия дочерних форм приложения
Добрый день. Пытаюсь сообразить, как грамотно реализовать механизм закрытия дочерних форм приложения. Есть 2 ситуации: 1) Дочерняя...

Изменение цвета фона дочерних форм приложения
В программе имеется главная форма и несколько дочерних форм. При нажатии кнопки в дочерней форме необходимо поменять цвет фона всех...

Получить список всех окон приложения
Может кто нибудь сталкивался с такой ситуацией, нужно получить список всех открытых окон моей программы VS2015 win10


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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