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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2009, 11:55   #1
Zo0M
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 42
Сообщение Delphi. Активное неMDI окно, поверх неативного MDI.

Мне необходимо при создании главного MDI окна(как я понял главное, то которое объявлено первым. В моём случае - MainF) вывести побочное(не MDI) которое будет активно
Код:
begin
  Application.Initialize;
  Application.CreateForm(TMainF, MainF);
  Application.CreateForm(TloginF, loginF);
  Application.Run;
end.
Побочному окну задал св-во fsStayOnTop.

Если в модуле main прописать
Код:
procedure TMainF.FormCreate(Sender: TObject);
begin
LoginF.Show;
MainF.Hide;
end;
То получается, что мы обращаемся к LoginF, ещё не создав его, и вылазит ошибка;


Если же в модуле Login прописать


Код:
procedure TloginF.FormCreate(Sender: TObject);
begin
LoginF.Show;
MainF.Hide;
end;
То окно хоть и пояляется сверху, но оно не активно, а активно MDI.

Есть функция для активации окна?
Zo0M вне форума Ответить с цитированием
Старый 22.07.2009, 12:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
MainF.Hide;
Это еще что за финт? ты же скрывать пытаешся главную форму из ее дочерней...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2009, 13:01   #3
Zo0M
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это еще что за финт? ты же скрывать пытаешся главную форму из ее дочерней...
У меня LoginF не дочерняя форма. У неё в св-вах FormStyle стоит fsStayOnTop
Zo0M вне форума Ответить с цитированием
Старый 22.07.2009, 13:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а тогда метод SetFocus переключит на нужное окно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2009, 15:44   #5
Zo0M
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А-а-а тогда метод SetFocus переключит на нужное окно.
Его юзать в каком модуле?
В Main или в Login?
И при каком событии?
OnCreate или OnShow?
Zo0M вне форума Ответить с цитированием
Старый 22.07.2009, 16:08   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
И при каком событии?
В OnShow или после выполнения метода Show
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.07.2009, 07:54   #7
Zo0M
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 42
По умолчанию

Спасибо, я процедуру то написал, а вот в Event`ах её не выбрал)

Тогда другой вопрос, как сделать одну из 2-х форм, находящихся на экране неактивной и недоступной для работы?
Т.е на экране впереди первая форма, а вторая сзади и по ней даже щёлкнуть нельзя. Как при выборе пути установки в Install Shield Wizard
Zo0M вне форума Ответить с цитированием
Старый 27.07.2009, 10:25   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Тогда другой вопрос
Либо переднюю форму открывать методом ShowModal, либо вторую форму выставить в Form2.Enabled:=false;, а потом обратно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDICihild форма поверх всех компонентов в родительской MDI ? chandrasecar Общие вопросы Delphi 5 07.06.2009 17:48
Активное окно Messir_Leonard Win Api 4 22.04.2008 19:25
[VC++] Закрытие программы: ALT + F4. Активное окно. Фильтрация деактив MuForum Общие вопросы C/C++ 3 30.03.2008 16:51
Активное окно MadReason Win Api 12 10.01.2008 17:44
Предыдущее активное окно martinz Win Api 3 25.11.2007 15:02