| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Перехватить закрытите формы |
| Автор: Mpak 12.5.2008, 22:30 | ||
| Мне надо что бы при закрытии формы обрабатывался код, и если условие выполняется то форму закрыть нельзя. Из не рабочего кода видно, что я хочу. Помогите сделать его рабочим, пожалуйста
P.S. return меня не спас |
| Автор: 586 12.5.2008, 22:47 | ||
Ещё есть событие OnCloseQuery. |
| Автор: Mpak 12.5.2008, 22:52 |
| Ага, только что сам нашел TCloseAction type Спасибо P.S. А можно поподробнее о OnCloseQuery и его отличие от OnClose |
| Автор: SVN74 12.5.2008, 22:55 |
| void __fastcall TSplitBlock::FormClose(TObject *Sender, TCloseAction &Action) { if (ListMarksOnBlock->Count != 0) { Action = caNone; MessageBox(0, "Тратата", "Внимание", MB_ICONWARNING) } else Action = caFree; } Может быть так ? |
| Автор: 586 12.5.2008, 22:57 |
| OnCloseQuery специально предназначен для перехвата закрытия формы. Если CanClose равен false, форма не закроется. |
| Автор: SVN74 12.5.2008, 23:14 | ||
Это почти одно и тоже , так можно и так можно, ему прийдется писать почти одно и тоже. |
| Автор: mrbrooks 13.5.2008, 08:37 | ||||
В принципе да. Но все таки не стоит забывать что при закрытие формы сначала наступает событие OnCloseQuery, затем OnClose |