我在使窗体移动(水平)时,怎么总有尾巴出现呢?怎么消去它呀?(20分)

  • 主题发起人 主题发起人 城里的月饼
  • 开始时间 开始时间

城里的月饼

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormCreate(Sender: TObject);
begin
left:=50;
end;

.....
procedure TForm1.cmdButton1Click(Sender: TObject);
left:=50;
//从左到右出
iLeft:=50;
for i:= -Width to 0do
begin
helpform.left:=ileft+i;
sleep(5);
end;
 
for i:= -Width to 0do
begin
helpform.left:=ileft+i;
Application.ProcessMessages;
sleep(5);
end;
 
這樣看看:
procedure WMERASEBKGND(var msg:TWMERASEBKGND);
message WM_ERASEBKGND;
var flag:boolean=false;
procedure TForm1.Button1Click(Sender: TObject);
var ileft,i:integer;
begin
left:=50;
//?左到右出
iLeft:=50;
flag:=true;
for i:= -Width to 0do
begin
form1.left:=ileft+i;
sleep(5);
end;
flag:=false;
end;

procedure tform1.WMERASEBKGND(var msg:TWMERASEBKGND);
begin
if not flag then
inherited;
end;
//移動時屏掉重畫消息。
 
后退
顶部