type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
var n: byte; StartTime: TDateTime;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin inc(n); case n of 1: begin Timer1.Enabled := True; StartTime := Now; end; 2: Timer1.Enabled := False; 3: Halt; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered := true; n := 0; end;
procedure TForm1.FormShow(Sender: TObject); begin Label1.Left := (form1.Width - Label1.Width) div 2; //не выполняется Label1.Top := (form1.Height - Label1.Height) div 2; //выполняется end;
procedure TForm1.Timer1Timer(Sender: TObject); var s: string; begin DateTimeToString(s , 'hh:mm:ss.zzz', Now-StartTime); Label1.Caption := s; end;
end.
Почему-то в FormShow выполняется только вторая строка, не зависимо от того, в каком порядке они стоят. Форма развернута на весь экран.
Сообщение отредактировано: sheka - 25.08.2010 16:13