![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MessageDlg
Anna © (2007-05-17 10:31:00)Господа!
MessageDlg('Сообщение', mtError, mbOK, 0);
Подскажите, пожалуйста:
возможно автоматически закрыть сообщение?
как на кнопке сообщения показать колличество секунд до его автоматического закрытия? --> OK [30]--> OK [29]...
Вместо mtError (и т.п.) можно показать свою картинку?
Leonid Troyanovsky (2007-05-17 11:54:00) [1]
> Anna (17.05.07 10:31)
> как на кнопке сообщения показать колличество секунд до его
> автоматического закрытия? --> OK [30] --> OK [29] ...
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
Timeout : Longint;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Timeout := 10;
Timer1.Enabled := True;
MessageDlg('Welcome to my Object Pascal application. Exit now?',
mtConfirmation, [mbYes, mbNo], 0);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
b: TButton;
begin
if Screen.ActiveForm.ClassNameIs('TMessageForm') then
begin
b := Screen.ActiveForm.FindComponent ('Yes') as TButton;
dec(Timeout);
if not Assigned(b) then
begin
(Sender as TTimer).Enabled := False;
Exit;
end;
b.Caption := Format ('Yes [%d]', [Timeout]);
if Timeout = 0 then
Screen.ActiveForm.Close;
end
else
(Sender as TTimer).Enabled := False;
end;
--
Regards, LVT.
Ega23 (2007-05-17 10:53:00) [2]Напиши свой диалог. Не вижу никаких проблем.
Amoeba (2007-05-17 10:33:00) [3]
> Господа!
> MessageDlg('Сообщение', mtError, mbOK, 0);
> Подскажите, пожалуйста:
> возможно автоматически закрыть сообщение?
Нельзя.