怎样达到 金山毒霸和蚂蚁中,窗口徐徐拉入的效果?(67分)

  • 主题发起人 主题发起人 党sir
  • 开始时间 开始时间

党sir

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样达到 金山毒霸和蚂蚁中,窗口徐徐拉入的效果?
有人说用AnimateWindow,但效果并不是金山毒霸和蚂蚁的那种效果,
金山毒霸和蚂蚁是怎么实现的?破釜沉舟,全部贡献出来求解
 
卷起千堆雪tyn 的程序,偶没实验,仅仅是收集起来了。[:)]

const
DisplayText = '卷起千堆雪tyn';
var
do
ne : Boolean;

procedure TForm1.Button2Click(Sender: TObject);
var
I :Integer;
Bitmap :TBitmap;
begin

Bitmap := TBitmap.Create;
Bitmap.Width := Width;
Bitmap.Height := 40;
Bitmap.Canvas.Font.Name := 'Arial Bold';
Bitmap.Canvas.Font.Size := 16;
Bitmap.Canvas.Brush.Color := clSilver;
Bitmap.Canvas.FillRect(Rect(0, 0, Width, 40));
do
ne := False;
while notdo
nedo
begin

for I := -Bitmap.Canvas.TextWidth(DisplayText)
to Pred(Width)do
begin

Application.ProcessMessages;
if (Done) then

Break;
Sleep(10);
Bitmap.Canvas.Font.Color := clGray;
Bitmap.Canvas.Brush.Style := bsClear;
Bitmap.Canvas.TextOut(2, 12, DisplayText);
Bitmap.Canvas.Font.Color := clBlack;
Bitmap.Canvas.Brush.Style := bsClear;
Bitmap.Canvas.TextOut(0, 10, DisplayText);
Canvas.Draw(I, 0, Bitmap);
end;

end;

Bitmap.Free;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin

do
ne := True;
end;


 
用timer控件触发位置的变动![:)]
 
是窗体或panel的移动,不是图象的移动.
请指教
 
窗体或panel的移动
panel1.left:=pane1l.left-1;
 
在窗体上放一个 panel 然后移动 panel
拉入效果
panel1.left:=form1.width

var ss:real;
var i:integer;
ss:=form1.width/100;
for i:=1 to 100
begin

panel1.left=panel1.left+ss;
end;

如果速度太快可以 加大 "100" 这个值
拉出效果 则 panel1.left- ss
 
AnimateWindow是可以实现的,效果就和金山毒霸的一样。
 
接受答案了.
 

Similar threads

后退
顶部