![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Допустим есть MessageBox с текстом и кнопкой Ок. Как сделать, чтобы по истечении времени (например 30 сек) если нет активности то нажималась кнопка? А обратный отсчет шел в заголовке окна или на кнопке рядом с Ок
|
|
#2
|
|||
|
|||
|
Берёшь таймер!!!
Ставишь условие: Если таймер = 30 то действие которое стоит на кнопке !!! (Я сам новичёк поэтому могу ошибатся !!!) |
|
#3
|
|||
|
|||
|
На словах та все просто, я и так понимаю что таймер нужен...
|
|
#4
|
|||
|
|||
|
Timer1.Interval := 30000; // 30000 это 30 сек
procedure TForm1.Timer1Timer(Sender: TObject); begin Ваше действие; end; |
|
#5
|
||||
|
||||
|
например так:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure OnTimer(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
MsgCaption = 'Осталось %d секунд';
var
MyMsgDialog: TForm;
Sec: Integer;
procedure TForm1.OnTimer(Sender: TObject);
begin
MyMsgDialog.Caption := Format(MsgCaption, [Sec]);
if Sec = 0 then MyMsgDialog.ModalResult:= ID_OK;
Dec(Sec);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Timer: TTimer;
begin
// Создаем диалог
MyMsgDialog := CreateMessageDialog(' сообщение ', mtInformation, [mbOk]);
// Создаем таймер
Timer := TTimer.Create(MyMsgDialog);
Timer.Enabled := False;
Sec:= 10; // 10 - это кол-во секунд до закрытия
with MyMsgDialog do
begin
try
Caption := '';
//Задаем параметры таймера
Timer.Enabled := True;
Timer.OnTimer := OnTimer;
OnTimer(Self);
// Показываем окно как модальное
case ShowModal of
ID_OK: ;
end;
finally
// Освобождаем переменные
Timer.Free;
Free;
end;
end;
end;
end.Последний раз редактировалось Karsh, 01.03.2009 в 19:49. |
|
#6
|
|||
|
|||
|
спасибо большое
|
|
#7
|
|||
|
|||
|
Вот здесь всё очень подробно http://depositfiles.com/ru/files/5sf7siu10?redirect
|