Код (Показать/Скрыть)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
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 -