Вниз
Скачать: 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.023 c
11-1059136961
Babenko Alexey
2003-07-25 16:42
2004.04.04
Глюки с прозрачностью и ImageList


4-1074787639
nnm1
2004-01-22 19:07
2004.04.04
getwindow?


9-1063816318
witalick
2003-09-17 20:31
2004.04.04
Игра на Delphi/Flash


14-1078460059
Rouse_
2004-03-05 07:14
2004.04.04
C Днем Рождения 5 Марта


14-1078655373
Sniper-Max
2004-03-07 13:29
2004.04.04
Мышь - как руль с пидалями...




   Наверх