![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
showmessage [D7, Win2k]
bang © (2004-08-31 18:47:00)Ув. мастера, как окно вызванное функцией showmessage() программно закрыть? Заранее спасибо! Извините если некорректно задан вопрос.
GuAV (2004-08-31 20:35:00) [1]procedure TForm1.TimerTimer(Sender: TObject);
begin
((Sender as TTimer).Owner as TForm).Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var DisappearingMessage: TForm;
begin
DisappearingMessage := CreateMessageDialog(
'не закрывай - сам ищезну',mtCustom,[mbOk]);
try
with TTimer.Create(DisappearingMessage) do
begin
OnTimer:=TimerTimer;
Interval:=3*1000;
end;
DisappearingMessage.ShowModal;
finally
DisappearingMessage.Free;
end;
end;
OSokin (2004-08-31 20:20:00) [2]Если через MessageBox, то можно послать сообщение на закрытие (WM_CLOSE) через хэндл, определяемый по FindWindow.
serg128 (2004-08-31 19:35:00) [3]Так оно тоже результата пользователя будет ждать. Если сильно нада -> пишите своё окно, которое по интерфейсу сходно с ShowMessage(), а в нём творите что хотите.
bang (2004-08-31 19:30:00) [4]А как насчет MessageDlg()?
Synochka (2004-08-31 19:24:00) [5]Перед ShowMessage включаешь таймер, который через 3 секунды закроет окно. Правда придётся повозиться с тем, чтобы определить его Handle. Но если найдёшь, то посылаешь WM_CLOSE, и задача решена.
serg128 (2004-08-31 19:24:00) [6]Никак. Т.к. оно открывается модально, а пока оно не закроется, программа дальше не пойдёт!
Gero (2004-08-31 19:23:00) [7]Написать свой ShowMessage.
bang (2004-08-31 19:10:00) [8]Надо чтоб окно вызванное showmessage() через, скажем, секунды три закрылось
GuAV (2004-08-31 19:05:00) [9]точнее, никакого результата не вернёт она, т к это не функция, а процедура
GuAV (2004-08-31 19:04:00) [10]
> вызванное функцией showmessage() программно закрыть?
Когда showmessage вернёт результат, окно уже будет закрыто.
> Извините если некорректно задан вопрос.
Может и корректно, но я не понял что надо.