Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2008, 17:57   #1
VVVadim
Пользователь Подтвердите свой е-майл
 
Аватар для VVVadim
 
Регистрация: 28.03.2007
Сообщений: 60
По умолчанию MDI Child форма в единственном екземпляре

Здравствуйте форумчане ...и тд. и тп.
вот пишу прогу ... Суть в чем, а в том что пункт меню создает MDI Child
форму. Проблема в том, что если нажать ~10 раз то будет 10 форм.
Помогите поставить ограничение. plzzzz
VVVadim вне форума Ответить с цитированием
Старый 29.02.2008, 18:12   #2
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

в родительской форме пишешь:
Код:
procedure TForm1.N11Click(Sender: TObject);
begin
if not OpenChild then
 Form2 := TForm2.Create(Form1);
end;
в дочерней:
Код:
...
var
  OpenChild:boolean = false;
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 openchild := false;
 action := cafree;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
 openchild := true;
end;
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 29.02.2008, 18:13   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
пункт меню создает MDI Child форму. Проблема в том, что если нажать ~10 раз то будет 10 форм.
Помогите поставить ограничение.
if [количество созданных окон]=[максимальное количество] then
[этот пункт меню].Enabled:=False else
[этот пункт меню].Enabled:=True;

Последний раз редактировалось mihali4; 29.02.2008 в 18:40.
mihali4 вне форума Ответить с цитированием
Старый 29.02.2008, 18:18   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

главная форма
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if form2=nil then
begin
form2:=TForm2.Create(Application);
form2.Visible:=true;
end;
end;
в ЧАИЛДЕ
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
        Form2.Free;
        form2:=nil;
end;
project ->Options-> fotm2 переносиш в Available Forms
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка создания MDI Child формы VVVadim Общие вопросы Delphi 7 05.06.2008 19:25
child-процесс хелп nntpaha Общие вопросы C/C++ 2 11.01.2008 11:07
Форма subsonic Общие вопросы Delphi 5 10.01.2008 11:18
форма... Briz Общие вопросы Delphi 8 22.10.2007 17:26
Форма MAcK Общие вопросы Delphi 4 07.02.2007 01:43