![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать открыта или закрыта в текущий момент форма? [D6, Win95/98, Win2k]
Брат © (2002-11-28 14:22:00)Люди! Как узнать открыта или закрыта в текущий момент форма в проекте?
Дмитрий К.К. (2002-11-28 15:55:00) [1]Начали формами, заканчиваем орфографией...
Брат (2002-11-28 15:31:00) [2]
> Все эти ваши Active показывают лишь активна ли существующая
> форма (Active/Inactive Caption). Форма может быть открыта,
> но не активна.
> Если же такой код применить по отношению к форме, которая
> НЕСОЗДАНА/РАЗРУШЕНА - т.е. не существует в данном контексте,
> будем наблюдать "Access Violation". Хотя, судя по названию
> (frmMain) это не актуально, т.к. это MainForm.
frmMain - это я написал для примера. На самом деле я использую проверку в модальных формах, так что мне не грозит вышеуказанное...
exit (2002-11-28 15:30:00) [3]
> Кстати "не" с глаголом пишется отдельно, критик Вы наш..
Я в курсе "учитель". Если ВЫ про НЕСОЗДАНА, то в "данном контексте" - это не глагол. Я просто решил так обозначить флаг ее состояния. Не даром ведь с большой буквы написал... Специально для таких "учителей". Да и глаголы - тема не этой конференции. Но не могу удержаться:
Нет, не спасибо, я тормознул. Не правильно вопрос прочитал.
А то что Вам надо это скорей всего TForm.Active
1. Не правильно- неправильно :-)
2. А то что Вам надо это скорей всего TForm.Active-
А то, что Вам нужно, это скорее всего "TForm.Active" :-)
Song (2002-11-28 15:13:00) [4]2exit (28.11.02 15:06)
Кстати "не" с глаголом пишется отдельно, критик Вы наш..
dimich1978 (2002-11-28 15:13:00) [5]а свойство формы visible:=false(true) не подойдет?
Song (2002-11-28 15:10:00) [6]2exit (28.11.02 15:06)
ну для таких умных можно упомянуть Assigned() и IsIconic()
Просто автор не указал какое именно действие он имел ввиду под "активна ли форма".
exit (2002-11-28 15:06:00) [7]Все эти ваши Active показывают лишь активна ли существующая форма (Active/Inactive Caption). Форма может быть открыта, но не активна.
Если же такой код применить по отношению к форме, которая НЕСОЗДАНА/РАЗРУШЕНА - т.е. не существует в данном контексте, будем наблюдать "Access Violation". Хотя, судя по названию (frmMain) это не актуально, т.к. это MainForm.
Дмитрий К.К. (2002-11-28 14:57:00) [8]Я думаю, что вопрос "Как узнать открыта или закрыта в текущий момент форма в проекте?" подразумевает работу в IDE ;)
SmashFX (2002-11-28 14:57:00) [9]FindWindow?
Брат (2002-11-28 14:55:00) [10]Почему? Все работает:
...
if Screen.ActiveForm=frmMain then
begin
MessageDlg("error1!",mtError,[mbOK],0);
n:=16;
end
else
begin
MessageDlg("error2!",mtError,[mbOK],0);
n:=14;
end;
Song (2002-11-28 14:40:00) [11]Нет, не спасибо, я тормознул. Не правильно вопрос прочитал.
А то что Вам надо это скорей всего TForm.Active
Брат (2002-11-28 14:37:00) [12]
> Song © (28.11.02 14:36)
> TScreen.ActiveForm
спасиба!!
Song (2002-11-28 14:36:00) [13]TScreen.ActiveForm
Брат (2002-11-28 14:30:00) [14]
> Внимательнее работать с среде ;)
:-) Я имею в виду как програмно узнать а не визуально... :-)
Дмитрий К.К. (2002-11-28 14:28:00) [15]Внимательнее работать с среде ;)