Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Вниз

Уничтожение последней MDIChild-формы   Найти похожие ветки 

 
zorik ©   (2009-11-24 10:11) [0]

Что-то туплю. Как отследить уничтожение последней MDIChild-формы. Есть свойство MDIChildCount для главной формы. Но когда его использовать. Есть ли в главной форме событие типа OnChildClose?


 
Jeer ©   (2009-11-24 10:20) [1]


> Как отследить уничтожение последней MDIChild-формы.


А зачем ? Цель какая ?
Если в главной форме надо что-то делать с child-формами, вот тут и проверяй на mdichildcount.


 
zorik ©   (2009-11-24 10:21) [2]

для активации/деактивации пунктов меню


 
Jeer ©   (2009-11-24 10:30) [3]

Правильнее проверять доч.форму на существование:
если нет- создавать, если уже есть - активировать и на передний план.


 
Григорьев Антон ©   (2009-11-24 10:31) [4]

Вообще-то у главной формы меню должно быть своё, у дочерней - своё. При активации MDI-окна эти два меню автоматически объединяются на основании значений свойств TMenuItem.GroupIndex, а при закрытии последнего окна автоматически останется только меню главной формы. И никаких событий ловить не надо.


 
Jeer ©   (2009-11-24 10:32) [5]

Ну если уж совсем приспичило - при закрытии каждой чайлд-формы посылать сообщение в главную и по приему делать нужные действия.


 
Jeer ©   (2009-11-24 10:34) [6]


> а при закрытии последнего окна автоматически останется только
> меню главной формы.


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


 
zorik ©   (2009-11-24 10:40) [7]


> Григорьев Антон ©   (24.11.09 10:31) [4]

Оно так было, но с TActionManager, TActionMainMenuBar и TActionToolBar оно некоректно работает. Если на дочерной использовать TActionManager и TActionMainMenuBar (TActionToolBar) то меню будет только на первой из созданых ChildForm. А переходить назад на TMainMenu не хочется.

Еще попробую, как вы говорите, с TMenuItem.GroupIndex поэксперементировать, но TActionManager наверно все-же нужен только один на главной форме.


> Jeer ©   (24.11.09 10:32) [5]

Тогда нужно с задержкой, потому-что в момент уформа еще есть и количество детей равное 1, если это последняя форма. ИМХО это неправильно


 
zorik ©   (2009-11-24 10:44) [8]

У меня на главной форме есть акции (TActionManager) для работы с дочерными формамы. Все дочерные формы одинаковые. Раньше, когда использовал TMainMenu, я создавал MDI-приложения и не было проблем, но с появлением TActionManager и TActionMainMenuBar (TActionToolBar) появились траблы, не исключаю, что полностью не разобрался с их использованием



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1257802926
DVM
2009-11-10 00:42
2010.01.17
Забавный ролик с Гейтсом и Балмером


15-1257434008
pasha_golub
2009-11-05 18:13
2010.01.17
Транспорт ICQ через Jabber в Миранде


2-1259598441
xtd
2009-11-30 19:27
2010.01.17
Почему в TWebBrowser не работают JavaScript – ы?


6-1211800006
atruhin1
2008-05-26 15:06
2010.01.17
TWebBrowser и сертификаты


2-1258818660
Wito
2009-11-21 18:51
2010.01.17
Рекурсивный обход дерева





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский