オブジェクトインスペクタで、TForm を選択して、イベントページを見てみると、OnClick、OnDblClick、OnMouseDown、OnMouseUp がありますが、これは、どのような順番で発生するのかを、みてみましょう。また、 OnCreate、OnActive、OnShow イベントの発生順番も見てみる事にします。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
procedure FormClick(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormClick(Sender: TObject);
begin
ListBox1.Items.Add('Click');
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
ListBox1.Items.Add('DblClick');
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ListBox1.Items.Add('MouseDown');
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ListBox1.Items.Add('MouseUp');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox2.Items.Add('Create');
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ListBox2.Items.Add('Active');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
ListBox2.Items.Add('Show');
end;
end.