formcreate在整个程序执行中,只执行一次,即初始化的那一次
而formActive则可执行多次,只要主窗体激活一次,就会执行一次

解决方案 »

  1.   

    //次序不一样
    //OnActivate//窗体激活时触发
    //OnShow窗体显示时触发
    //OnCreate//窗体创建时触发procedure TForm1.FormActivate(Sender: TObject);
    begin
      ShowMessage('procedure TForm1.FormActivate(Sender: TObject);');
      Canvas.TextOut(00, 00, 'procedure TForm1.FormActivate(Sender: TObject);'); //只有它留下
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      ShowMessage('procedure TForm1.FormCreate(Sender: TObject);');
      Canvas.TextOut(20, 20, 'procedure TForm1.FormCreate(Sender: TObject);');
    end;procedure TForm1.FormShow(Sender: TObject);
    begin
      ShowMessage('procedure TForm1.FormShow(Sender: TObject);');
      Canvas.TextOut(30, 30, 'procedure TForm1.FormShow(Sender: TObject);');
    end;