我在它的active事件中改变top left width height等属性,可是显示时会闪动。而且速度很慢,不能一下“唰”地出来,(而是抖着出来)。我只用了for i:=1 to 100 do啊!!
想了一下,我觉得这方法很“土”,想请教大家:有什么更好的方法?或者怎么改?

解决方案 »

  1.   

    在Create事件中加入
    AnimateWindow(handle, 时间, AW_CENTER);
      

  2.   

    机器不行吧?
    for i:=1 to 30 do
    j:=i*3  用j做步长,马上快3倍, :)
    最好中间过程只画个框,
    骗骗人的眼睛,最后才画出窗口
    mac就是这么干的,效果也不错。
      

  3.   

    unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
        procedure FormCreate(Sender: TObject);
      private
      { Private declarations }
      public
      { Public declarations }
      end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      AnimateWindow(handle,200,AW_HIDE+AW_CENTER);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      AnimateWindow(handle,200,AW_CENTER);
    end;end.祝:身体健康,分数和答案同样重要:)
      

  4.   

    unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
        procedure FormCreate(Sender: TObject);
      private
      { Private declarations }
      public
      { Public declarations }
      end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      AnimateWindow(handle,200,AW_HIDE+AW_CENTER);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      AnimateWindow(handle,200,AW_CENTER);
    end;end.祝:身体健康,分数和答案同样重要:)