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

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

Проблемы при использовании MDI-окон [D5]


kserg@ukr.net ©   (2002-06-20 11:58:00) 

Привет
Есть MDI-приложение под БД, в котр. окно поиска можно вызывать как из осн.окна (т.е. поиск по всей БД сразу), так и из текущего открытого дочернего окна (поиск только по текущ.проекту). Вызов окна поиска идет из глав.меню осн.окна.

Сталкнулся со след.проблемой: если отрываю дочернее окно, затем закрываю его (т.е. дочерних окон нет) и пытаюсь вызвать окно поиска нижепривед.код не работает. Причем не работает именно в такой ситуации, в др.случаях нормально открывается с нужными опциями поиска.

if Screen.ActiveForm = MainForm then
fmFind.Tag:= 0
else
fmFind.Tag:= TMDIChildMainForm.ActiveMDIChild).Tag;

fmFind.showmodal;

При трассировке вижу, что Screen.ActiveForm = nil !!
Если правильно понимаю, то получается, что после закрытия дочернего окна осн.окно не становится активным?
Подскажите, как обойти этот казус?


Игорь Шевченко   (2002-06-20 13:58:00) [1]

Активным становится окно MDIClientWindow, которое не является формой.


kserg@ukr.net   (2002-06-20 13:03:00) [2]

>Игорь Шевченко © (20.06.02 12:50)
спасибо, заработало...
но вот вопрос всё же мне не понятен: куда "теряется" фокус?
тем более этот кусок кода я выдрал где-то из делфийских примеров


Игорь Шевченко   (2002-06-20 12:50:00) [3]

if MainForm.MDIChildCount = 0 then
...
else
...


kserg@ukr.net   (2002-06-20 12:39:00) [4]

ну, хоть что-нибудь присоветуйте...


Наверх

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