Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизПочему не закрывается форма? Найти похожие ветки
← →
лопух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 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c