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

Вниз

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

 
Goida ©   (2004-01-15 13:24) [0]

Как закрыть форму Аккуратно, когда в процессе обработки события OnShow возникает ситуация, при которой окно не должно открываться.


 
Anatoly Podgoretsky ©   (2004-01-15 13:25) [1]

Не делать OnShow раз показывать не нужно.


 
Романов Р.В. ©   (2004-01-15 13:26) [2]

PostMessage(Form1.Handle, WM_Close, 0, 0);


 
Goida ©   (2004-01-15 13:29) [3]


> Романов Р.В.
> PostMessage(Form1.Handle, WM_Close, 0, 0);

А чтобы не видно было маргания формы? Такого нельзя добиться при моих условиях?


 
Sandman25 ©   (2004-01-15 13:32) [4]

[3]

См. [1]


 
Юрий Зотов ©   (2004-01-15 13:37) [5]

> Goida © (15.01.04 13:29) [3]

> А чтобы не видно было маргания формы? Такого нельзя добиться
> при моих условиях?

Конкретные Ваши условия пока что все-таки неизвестны. А вообще так.
1. Если форма не главная, то просто не выполнять Show.
2. А если главная, то ДО (строго ДО) вызова Application.Run надо выполнить Aplication.ShowMainForm := False. Например, это можно сделать в ее обработчике OnCreate. Но не в OnShow - это будет уже поздно и форма моргнет (что у Вас и происходит).


 
Тимохов ©   (2004-01-15 13:40) [6]

А можно исключение в OnCreate сгенерить, только придется перекрывать DoCreate()
PROCEDURE TForm_MDIChild.DoCreate();
BEGIN
// Разница с предком состоит в том, что мы не обрабатываем исключения
if Assigned(OnCreate) then OnCreate(Self);
if fsVisible in FormState then Visible := True;
END;



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
1-83175
New
2004-01-15 15:04
2004.01.26
OpenDialog


1-83154
Hkr
2004-01-14 20:27
2004.01.26
Системное меню


14-83271
Kair
2004-01-04 10:50
2004.01.26
Методы оптимизации


1-83151
Dennis S
2004-01-14 21:53
2004.01.26
Кто может подсказать принцип?


3-83099
Фетисов
2003-12-29 12:52
2004.01.26
Инсталляция InterBase5.6 под Windows 2000