Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как лучше закрыть несколко одинаковых форм? [D7, WinXP]


Страницы:   1 2

Дмитрий Белькевич ©   (2009-06-04 14:00:00) 

Есть некоторое количество одинаковых форм. Они могут быть на одном мониторе, либо на нескольких. Быть как MDI, так и SDI. При закрытии одной из них нужно по некоторому критерию (формы 'связаны' через специальный идентификатор) закрывать некоторые другие с таким же идентификатором.

Как такое лучше орагинизовать?


Дмитрий Белькевич   (2009-06-04 15:39:00) [21]


> если в OnDestroy и посылать через PostMessage - ничего страшного,
>  деструктор выполнится до того, как будет выбрано сообщение


Я еще и разрушение объекта вызываю до посылки сообщения, что бы форма сама себе мессагу не прислала... Параноя ;) Смысла, наверно, немного - всё равно очередь будет уже убита.


Медвежонок Пятачок   (2009-06-04 15:11:00) [22]

И все другие при закрытии будут тоже сообщение посылать - закрой все такие же...

Если юзер успеет нажать в них кнопку "закрыть все такие" после того, как он нажал ее же в активной форме


Игорь Шевченко   (2009-06-04 15:05:00) [23]


> И все другие при закрытии будут тоже сообщение посылать
> - закрой все такие же...


если в OnDestroy и посылать через PostMessage - ничего страшного, деструктор выполнится до того, как будет выбрано сообщение


Дмитрий Белькевич   (2009-06-04 15:01:00) [24]


> Я бы отправлял сообщение главной форме - закрой все такие
> же.


И все другие при закрытии будут тоже сообщение посылать - закрой все такие же...


> Такое можно сделать в обработчике Wm_SysCommand :)


Сделал пока в OnDestroy, вроде пока живёт, погоняю еще...


Игорь Шевченко   (2009-06-04 14:48:00) [25]

Я бы отправлял сообщение главной форме - закрой все такие же.


> Если так сделать в FormClose, то каждая закрывающаяся форма
> будет опять всем рассылать сообщение. Хорошо ли это?


Такое можно сделать в обработчике Wm_SysCommand :)


Медвежонок Пятачок   (2009-06-04 14:47:00) [26]

никакого зацикливания не будет даже если в OnClose это сделать


Медвежонок Пятачок   (2009-06-04 14:44:00) [27]

рассыл надо делать под кнопкой "закрыть все"


Дмитрий Белькевич   (2009-06-04 14:44:00) [28]

>а если не в FormClose то не будет.

И куда лучше? В OnDestroy? Попробую... Боюсь зацикливания форм друг на друга...


Медвежонок Пятачок   (2009-06-04 14:42:00) [29]

а если не в FormClose то не будет.
А если и будет то что?


Дмитрий Белькевич   (2009-06-04 14:16:00) [30]

Если так сделать в FormClose, то каждая закрывающаяся форма будет опять всем рассылать сообщение. Хорошо ли это?


Медвежонок Пятачок   (2009-06-04 14:02:00) [31]

сообчениями лучше


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо