Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Создана форма или нет?   Найти похожие ветки 

 
Developerr   (2005-03-09 19:15) [0]

Доброе время суток, подскажите, пожалуйста, как можно узнать, если есть несколько MDIChild"ов, создана какая-то определенная форма, из них (MDIChild"ов), или нет?

Спасибо.


 
Плохиш ©   (2005-03-09 19:20) [1]

TForm.MDIChildren


 
Developerr   (2005-03-09 19:31) [2]

А подробнее, а то в справке показано только как закрыть все MDI children.

The following code closes all the MDI children of Form1.
var
 I: Integer;
begin
 with Form1 do
   for I := MDIChildCount-1 downto 0 do
     MDIChildren[I].Close;
end;

У меня, допустим, есть форма, например, Name MDIForm3 и Caption - Форма3, как узнать создана эта форма или нет. Если можно, пример.

Спасибо.


 
grusty   (2005-03-09 21:02) [3]

А если так:

var
I: Integer;
f: Boolean;
begin
f:=False;
with Form1 do
  for I := MDIChildCount-1 downto 0 do
    if MDIChildren[I].Caption="Форма3" then f:=True;
if f
then
  ShowMessage("Форма3 создана")
else
  ShowMessage("Форма3 не создана")
end;

Правда это будет работать, если форма открыта... А вот если нет - совневаюсь...


 
Developerr   (2005-03-10 13:49) [4]


> grusty  

Можно и так, а можно и еще проще. Ввести переменную и при создании формы присваивать ей значение, например, OnCreate f:=true. OnDestroy f:=false; Если f=true форма создана. Я просто думал, что может есть другие способы без введения переменных.


 
Digitman ©   (2005-03-10 14:13) [5]


> Developerr   (10.03.05 13:49) [4]


> думал, что может есть другие способы без введения переменных


ты не чукча ли ?)

вот же , в [3], - пример кода, реализующего твою логику БЕЗО всяких там "переменных" !


> Ввести переменную


малацца !
насандаль таких переменных с запасом, штук эдак 1000000000.. заранее ж ты не знаешь, сколько MDIChild-форм юзер насоздает ..


 
_1   (2005-03-10 14:34) [6]

Если подразумевается что может быть только один экземпляр одной TMdiChild, то можно использовать ту переменную которую Delphi сама создаёт для формы.

var
 MdiChild: TMDIChildForm = nil

Создавать -
if MdiChild = nil then
 MdiChild:= TMdiChildForm.Create;

в MdiChildOnDestroy -
MdiChild:= nil;

Проверять -
MdiChild <> nil


 
Developerr   (2005-03-10 16:32) [7]


> _1


> Если подразумевается что может быть только один экземпляр
> одной TMdiChild

Именно это я имел в виду, спасибо.



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

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-1109176563
Torri
2005-02-23 19:36
2005.03.27
Перенос содержимого из StringGrid в DBGrid


1-1110976205
Sanich
2005-03-16 15:30
2005.03.27
Как экспортировать отчет из QuickReport.


14-1110438595
SergP.
2005-03-10 10:09
2005.03.27
Реально ли узнать пароль БД?


1-1110532399
Dr. Genius
2005-03-11 12:13
2005.03.27
Где папка с документами?


1-1110723546
Макс Т.
2005-03-13 17:19
2005.03.27
Выравнивание заголовка