Главная страница
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.038 c
3-1109232078
Топпер
2005-02-24 11:01
2005.03.27
Log FireBird1.5 SS под Linux


6-1106572893
PURGEN
2005-01-24 16:21
2005.03.27
SMS


1-1110522425
Homa_Programer
2005-03-11 09:27
2005.03.27
MDI vs ShowModal


9-1104779300
Dic
2005-01-03 22:08
2005.03.27
Загрузка графики в PowerDraw3.


3-1109053846
WondeRu
2005-02-22 09:30
2005.03.27
MSSQL. Настройка репликации