Форум программистов, компьютерный форум, киберфорум
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. Показов 5845. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru