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

Вниз

Закрытие формы   Найти похожие ветки 

 
Ivan_73   (2003-01-24 09:04) [0]

Мастера. Обрабатывается событие OnActivate. Как в этом обработчике, при определеннных условиях, сделать, чтобы форма не появилась. "Close" не работает, так как форма еще не появилась.


 
Reindeer Moss Eater   (2003-01-24 09:11) [1]

procedure DoHide(var Msg:TMessage); message wm_user+100;


procedure TForm2.DoHide(var Msg: TMessage);
begin
Close;
end;

procedure TForm2.FormActivate(Sender: TObject);
begin
PostMessage(Handle,wm_user+100,0,0);
end;


 
Anatoly Podgoretsky ©   (2003-01-24 09:16) [2]

Зачем же вызываешь если тебе не нужна форма, ты сначала проверь и только потом Show.
К тому же ты плохо представляешь работу OnActivate, твое утверждение насчет "форма еще не появилась." верно только частично.


 
Lord Warlock ©   (2003-01-24 09:17) [3]

А можно проще:

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;


procedure TForm2.FormActivate(Sender: TObject);
begin
if Чего-то там then
PostMessage(Handle,WM_CLOSE,0,0);
end;


 
Reindeer Moss Eater   (2003-01-24 09:18) [4]

Правда все это можно назвать ответом на вопрос:
как сделать, что бы юзер не успел заметить появление формы


 
Anatoly Podgoretsky ©   (2003-01-24 09:32) [5]

If not Чего-то там then Show

и нет возможности у юзера.


 
Севостьянов Игорь ©   (2003-01-24 16:13) [6]

Было у меня приблизительно такая потребность, надо было от унаследнованной формы (большой проект), чтобы не показывалась форма наследника, но If not Чего-то там then ShowModal не подходит, т.к. переписывать вызов формы (условия при которых вызывалась) было нельзя... И поэтому просто в наследнике переписалась ShowModal, которая является virtual методом. Вот в этом ShowModal и происходит Show (вызов метода Show)и Activate формы ( с помощью SendMessage(Handle, CM_ACTIVATE, 0, 0);)


 
MacX   (2003-01-25 00:06) [7]

Мне кажется автор имел ввиду, как сделать чтобы главная форма не появлялась после Application.Run Т.е. проверяется условие и в зависимости от него программа запускается дальше или выгружается, но так, чтобы главная форма не появилась... хотя может я ошибаюсь



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
14-5143
Yury
2003-01-17 16:12
2003.02.03
RxLib


1-4943
qwerty2
2003-01-26 14:12
2003.02.03
Помогите пожалуйста с написанием компонента!


1-4897
CH_DV
2003-01-25 12:58
2003.02.03
ловушки


7-5290
Newe
2002-11-21 15:24
2003.02.03
Как программно узнать когда юзер вставит в дисковод дискету?


14-5228
Karluha
2003-01-15 22:20
2003.02.03
InstallShield многократная установка программы