Вниз
Скачать: CL | DM;

Почему не закрывается форма?   Найти похожие ветки 

 
лопух5345   (2004-03-15 16:56) [0]

Почему вот такие строчки в FormCreate:
ModalResult := mrCancel; (или просто Close;)
не закрывают окно, вызванное по ShowModal ?
И как его, собственно закрыть в FormCreate"e ????


 
Goida ©   (2004-03-15 17:05) [1]

Странно, что на Close не закрывается. А сприсвоением понятно: ModalResult - это всего лишь переменная.


 
Anatoly Podgoretsky ©   (2004-03-15 17:15) [2]

В OnCreate такие фокусы не проходят и зачем спрашивается создавал, раз не нужно. Для развлечеия?


 
лопух5345   (2004-03-15 18:21) [3]

Нет, в OnCreate вызывается форма отбора...
Если пользователь тыркнул отмена в отборе, то необходимо закрыть само окно.


 
лопух5345   (2004-03-15 18:21) [4]

Нет, в OnCreate вызывается форма отбора...
Если пользователь тыркнул отмена в отборе, то необходимо закрыть само окно.


 
YuRock ©   (2004-03-15 18:26) [5]

Сделайте в FormCreate:

if <отбор> then
 ModalResult := mrOk
else
 ModalResult := mrCancel;


а в FormShow

if ModalResult = mrCancel then Close;


 
лопух5345   (2004-03-15 19:22) [6]

procedure TMyObject.FormShow(Sender: TObject);
begin
 inherited;
 Close;
end;

ниче не закрывается


 
Anatoly Podgoretsky ©   (2004-03-15 19:27) [7]

Вызвать до создания, и если нет отмены, то создать.


 
YuRock ©   (2004-03-15 20:13) [8]

> лопух5345   (15.03.04 19:22) [6]

Что это? Я имел в виду в событии OnShow, и без всякого inherited, естественно...


 
Suntechnic ©   (2004-03-16 09:13) [9]

Из события FormCreate можно закрыть с помощью PostMessage(Handle, WM_CLOSE ...), но как уже здесь заметили что-то не так в консерватории, если возникает такая необходимость.


 
Goida ©   (2004-03-16 09:37) [10]


> Suntechnic

Мне кажется, что PostMessage(Handle, WM_CLOSE ...) можно вызывать только после создания окна, т.е. в OnShow. Но ни как в OnCreate.
Я не прав?
А вообще, лучше переместить проверку условия создания окна за пределы класса. Проверять, а потом, если нужно, создавать.


 
pasha_golub ©   (2004-03-16 09:56) [11]

Goida ©   (16.03.04 09:37) [10]
Дело в том, что PostMessage просто добавляет сообщение в очередь. И ничего страшного не случится.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.978 c
14-1078398784
LaidBack
2004-03-04 14:13
2004.04.04
Ушла...


14-1078675449
TButton
2004-03-07 19:04
2004.04.04
вот про Матрицу вопрос есть


1-1079083691
galina
2004-03-12 12:28
2004.04.04
Как вытнуть данные из ресурсного файла


14-1078637875
Rouse_
2004-03-07 08:37
2004.04.04
C Днем Рождения 7 Марта


8-1070019462
Алексей Стадник
2003-11-28 14:37
2004.04.04
содержимое дискеты к книге




   Наверх