Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 22:23   #1
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию Закрыть все дочерние (модальные и.д.) окна программы

Здравствуйте

Вообще так, в программе время от времени всплывают диалоговые окна, формы, модальные диалоговые окна (произвольно), как можно одним махом закрыть все эти окна ? (не зная Handle, заголовок и тд.) , другими словами закрыть всё кроме главной формы.
designer999 вне форума Ответить с цитированием
Старый 22.09.2011, 22:29   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Может сделать главную форму модальной?
Вадим Мошев вне форума Ответить с цитированием
Старый 22.09.2011, 22:43   #3
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Может сделать главную форму модальной?
и что это даст? другие формы\окна не будут открываться?)
designer999 вне форума Ответить с цитированием
Старый 22.09.2011, 22:56   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Думаю, что если и будут (скорей всего, будут), то они мешать не будут, так как они не будут доступны для работы ввиду модальности основной формы.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.09.2011, 23:16   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Думаю, что если и будут (скорей всего, будут), то они мешать не будут, так как они не будут доступны для работы ввиду модальности основной формы.
Чет не понял. Ну вывалилась из основной модальной другая модальная. Каким образом она не будет мешать основной? Фокус то на ней будет.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.09.2011, 23:19   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Ну, а что если установить фокус на главную? Это возможно?
Вадим Мошев вне форума Ответить с цитированием
Старый 22.09.2011, 23:20   #7
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

какие ещё способы предложите?)
designer999 вне форума Ответить с цитированием
Старый 22.09.2011, 23:21   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от designer999 Посмотреть сообщение
какие ещё способы предложите?)
Можно посмотреть в сторону Screen.Forms. И почему Handle узнать нельзя? И речь идет о сторонней или собственной программе?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 22.09.2011 в 23:24.
Аватар вне форума Ответить с цитированием
Старый 22.09.2011, 23:32   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от designer999 Посмотреть сообщение
какие ещё способы предложите?)
А предложенные работают?
Вадим Мошев вне форума Ответить с цитированием
Старый 23.09.2011, 00:05   #10
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Код:
  for I := 0 to Screen.FormCount - 1 do
  begin
    with Screen do
    begin
      if Forms[I].Name <> 'Form1' then Forms[I].Close;
    end;
  end;
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрыть все программы Михаил Юрьевич Общие вопросы Delphi 2 28.05.2010 22:07
Как программно закрыть все открытые модальные формы перед сворачиванием главной формы в трей? SkAndrew Общие вопросы Delphi 8 27.01.2010 22:44
Как на WinApi получить все дочерние окна приложения? Wadimka Работа с сетью в Delphi 8 27.05.2009 14:25
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13