![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MessageDlg [D6, XP]
Sonic90 © (2007-03-24 20:40:00)Подскажите пожалуйста как показать MessageDialog в течении какого-то отрезка времени.
Leonid Troyanovsky (2007-03-27 00:26:00) [1]
> TRUNK © (26.03.07 23:51) [8]
> MyDialog.ModalResult := mrOK;
Тогда уж mrTimeout.
--
Regards, LVT.
Kolan (2007-03-26 23:55:00) [2]> Или можно попробовать так
Так правильнее имхо.
TRUNK (2007-03-26 23:51:00) [3]> [3] Belorus © (26.03.07 09:58)
> Kolan и что же ты предлагаешь ему вставить в обработчик ?
Или можно попробовать так (при условии, что для показа использовался ShowModal):
procedure TForm1.Timer1Timer(Sender: TObject);
begin
MyDialog.ModalResult := mrOK;
(Sender as TTimer).Enabled := false;
end;
Kolan (2007-03-26 23:41:00) [4]> Kolan и что же ты предлагаешь ему вставить в обработчик
> ?
Пользуясь твоим примером (хотя я его не проверял).
1. Сделать поле FMyDialog : TForm;
2. Таймер на 5 сек.
3. Тело:
if Assigned(FMyDialog) then
begin
FMyDialog.Close;
FMyDialog := nil;
end;
(Sender as TTimer).Enabled := False;
Примерно так.
Leonid Troyanovsky (2007-03-26 23:35:00) [5]
> Belorus © (26.03.07 09:58) [3]
> Kolan и что же ты предлагаешь ему вставить в обработчик ?
Например:
procedure TForm1.Timer1Timer(Sender: TObject);
var
df : TForm;
begin
df := Screen.ActiveForm;
if df.ClassNameIs('TMessageForm') then
begin
df.Close;
(Sender as TTimer).Enabled := False;
end;
end;
--
Regards, LVT.
Belorus (2007-03-26 21:56:00) [6]Бред :) Товарищу нужно на 5 секунд показать этот диалог....
eXPell (2007-03-26 10:57:00) [7]Думаю что что-то типо этого:)
i:=i+timer1.Interval;
if i=5000 then
begin
MessageDlg('Hello world',mtInformation,[mbOk],0);
i:=0;
end;
Belorus (2007-03-26 09:58:00) [8]Kolan и что же ты предлагаешь ему вставить в обработчик ?
Kolan (2007-03-24 21:17:00) [9]> в течении какого-то отрезка времени
Используй TTimer
Belorus (2007-03-24 21:10:00) [10]var MyDialog : TForm;
begin
MyDialog := Dialogs.CreateMessageDialog('Hello world',mtInformation,[mbOk]);
MyDialog.Showmodal;
// MyDialog.Close; - думаю не нужно объяснять в какой момент нужно вызвать эту процедуру
end;