Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

MessageDlg   Найти похожие ветки 

 
Sonic90   (2007-03-24 20:40) [0]

Подскажите пожалуйста как показать MessageDialog в течении какого-то отрезка времени.


 
Belorus ©   (2007-03-24 21:10) [1]

var MyDialog : TForm;
begin
 MyDialog := Dialogs.CreateMessageDialog("Hello world",mtInformation,[mbOk]);
 MyDialog.Showmodal;

//  MyDialog.Close; - думаю не нужно объяснять в какой момент нужно вызвать эту процедуру
end;


 
Kolan ©   (2007-03-24 21:17) [2]

> в течении какого-то отрезка времени

Используй TTimer


 
Belorus ©   (2007-03-26 09:58) [3]

Kolan и что же ты предлагаешь ему вставить в обработчик ?


 
eXPell ©   (2007-03-26 10:57) [4]

Думаю что что-то типо этого:)


i:=i+timer1.Interval;
if i=5000 then
begin
MessageDlg("Hello world",mtInformation,[mbOk],0);
i:=0;
end;


 
Belorus ©   (2007-03-26 21:56) [5]

Бред :) Товарищу нужно на 5 секунд показать этот диалог....


 
Leonid Troyanovsky ©   (2007-03-26 23:35) [6]


> 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.


 
Kolan ©   (2007-03-26 23:41) [7]

> Kolan и что же ты предлагаешь ему вставить в обработчик
> ?

Пользуясь твоим примером (хотя я его не проверял).
1. Сделать поле FMyDialog : TForm;
2. Таймер на 5 сек.
3. Тело:
 
 if Assigned(FMyDialog) then
 begin
   FMyDialog.Close;
   FMyDialog := nil;
 end;  
(Sender as TTimer).Enabled := False;


Примерно так.


 
TRUNK ©   (2007-03-26 23:51) [8]

> [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:55) [9]

> Или можно попробовать так

Так правильнее имхо.


 
Leonid Troyanovsky ©   (2007-03-27 00:26) [10]


> TRUNK ©   (26.03.07 23:51) [8]

> MyDialog.ModalResult := mrOK;

Тогда уж mrTimeout.

--
Regards, LVT.



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

Текущий архив: 2007.04.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
1-1172004366
timself
2007-02-20 23:46
2007.04.15
Как перехватить начало перезагрузки?


15-1174296023
Чапаев
2007-03-19 12:20
2007.04.15
Как запретить...


2-1174575033
elserpiente
2007-03-22 17:50
2007.04.15
Реализация TOP в FB


3-1169627984
iviom
2007-01-24 11:39
2007.04.15
Как сделать групповую операцию над ADODataSet?


15-1174458723
Post_
2007-03-21 09:32
2007.04.15
Web- кам...