Главная страница
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.047 c
3-1169901600
Ёжик
2007-01-27 15:40
2007.04.15
Получение и вставка автоинкремента в той же процедуре


2-1175127004
Lavrenty
2007-03-29 04:10
2007.04.15
Курсор в TMemo


2-1174635166
Феодосий
2007-03-23 10:32
2007.04.15
Определить на компе лицензионный ключ WINDOWS


15-1173695495
infom
2007-03-12 13:31
2007.04.15
Вот такие у нас программисты !


2-1174602981
magicworld
2007-03-23 01:36
2007.04.15
Проверить