Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.145 c
14-1110352096
atr
2005-03-09 10:08
2005.03.27
Отладка программы. Help!


1-1110791589
}|{yk
2005-03-14 12:13
2005.03.27
Взаимодействие с консольными программами


1-1110901761
xsh
2005-03-15 18:49
2005.03.27
Stringgrid и Edit


1-1110465314
Zahar
2005-03-10 17:35
2005.03.27
Использование индекса в именах компонентов...


1-1110888417
EvgeniyR
2005-03-15 15:06
2005.03.27
Изменение размеров формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский