Главная страница
    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.331 c
1-1110772305
NEW_USER
2005-03-14 06:51
2005.03.27
Как определить проги запускаемые из Администр->Службы?


8-1100693767
Kirill
2004-11-17 15:16
2005.03.27
Формат PNG в стандартный TImage


14-1110006611
Sergey13
2005-03-05 10:10
2005.03.27
Часы, которые выбирают те, кого выбираем мы.


3-1109765686
Alsk
2005-03-02 15:14
2005.03.27
как вытянуть уникальные записи из двух таблиц ??


14-1110270172
AlterEgo of WondeRu
2005-03-08 11:22
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский