登录
首页 » Delphi源码 » 使用Delphi 制作无闪烁的动画效果

使用Delphi 制作无闪烁的动画效果

于 2023-03-22 发布 文件大小:5.88 kB
0 289
下载积分: 2 下载次数: 1

代码说明:

使用Delphi 制作无闪烁的动画效果,如何实现不闪烁的动画呢?这个例子或许能找到一些答案:部分代码如下:   var    x,i: Integer;    dir,run: Boolean;   begin    b := TBitMap.Create;    b.Width := AnimWindow.Width;    b.Height := 32;    b.Canvas.Pen.Color := clBtnFace;    b.Canvas.Brush.Color := clBtnFace;    b.Canvas.Rectangle(0,0,AnimWindow.Width,32);    run := True;    dir := False;    x := 0;    while run do    for i := 0 to AnimWindow.ImageList1.Count-1 do    begin    b.Canvas.Rectangle(0,0,AnimWindow.Width,32);    AnimWindow.ImageList1.Draw(b.Canvas,x,0,i);    Synchronize(DrawAnimPic);    Sleep(AnimWindow.SpinEdit1.Value);    if (x = 0) or (x = 300) then dir := not dir;    if dir then Inc(x) else Dec(x);    end;    b.Free;   end;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi 在窗体上显示超级连接效果
    Delphi7.0实现超级连接效果,在窗体上显示超级链接,这个似乎比较简单了,在网页上这是基本的功能,不过如何把一个超链接显示在窗口中,和网页上有些区别,通过这个例子你将学会如何在窗体上实现链接的显示,以及多种链接状态的自定义功能。
    2023-03-23 16:40:03下载
    积分:1
  • Delphi 监控剪贴板的文字内容
    Delphi 监控剪贴板的文字内容,这个监控程序可以监控复制到剪切板的文字信息,图片暂时不能监控到,具体的监控实现如下:   NextformHwnd:HWND;//观察链中下一个窗口句柄   procedure WMDrawClipBoard(var AMessage:TMessage);message WM_DRAWCLIPBOARD;   //处理WM_DRAWCLIPBOARD消息过程    { Public declarations }   //将WM_DRAWCLIPBOARD消息传递到下一个观察链中的窗口   SendMessage(NextformHwnd,AMessage.Msg,AMessage.WParam,AMessage.LParam);   //查询剪贴板中特定格式的数据内容   if (Clipboard.HasFormat(CF_TEXT) or Clipboard.HasFormat(CF_OEMTEXT)) then   begin    //处理剪贴板中内容    memo1.Lines.Clear;    memo1.Lines.Add(Clipboard.asText);   end;
    2022-01-22 10:48:45下载
    积分:1
  • Delphi在窗口中单击左键弹出菜单
    Delphi在窗口中单击左键弹出菜单,在运行的窗体空白外,单击鼠标左键,弹出主菜单,其实和右键 菜单 是一样的原理,希望通过这个简单的例子,了解自定义窗口菜单的实现方法。
    2023-09-08 18:20:03下载
    积分:1
  • Delphi 垂直交错显示效果
    图片的垂直交错效果,Delphi 编写的图片垂直交错显示效果,之前就分享过这种效果,类似百叶窗的交替显示效果,可用于图片转场,不过本效果还有很多地方需要优化,当时是写给一本书,作为随书实例的,有兴趣的可参考,关于本功能的关键代码部分,请看以下代码:   newbmp:= TBitmap.Create;   newbmp.Width:=image1.Width;   newbmp.Height:=image1.Height;   bmpheight:=image1.Height;   bmpwidth:=image1.Width;   i:=0;   while i0 do    begin    newbmp.Canvas.CopyRect(Rect(0,j-1,bmpwidth,j),image1.Canvas,Rect(0,bmpheight-i+j-1,bmpwidth,bmpheight-i+j));    newbmp.Canvas.CopyRect(Rect(0,bmpheight-j-1,bmpwidth,bmpheight-j),image1.Canvas,Rect(0,i-j,bmpwidth,i-j+1));    j:=j-2;    Application.ProcessMessages;    end;    form1.Canvas.Draw(0,0,newbmp);    i:=i+2;   end;   newbmp.free;
    2023-04-12 21:35:03下载
    积分:1
  • 轻型网络聊天Delphi程序-源码
    轻型网络聊天Delphi程序-源码,类似聊天室, 很简单,这是个多年前的网络编程例子,聊天过程中显示对方的IP,和当前好友姓名,还支持删除聊天记录。用户注册时,可对注册信息进行初始验证,比如用户名是否存在、姓名和IP地址不能空等,有一些技巧对Delphi打基础有帮助。
    2023-05-16 10:20:03下载
    积分:1
  • delphi windows远程桌面链接源码,带代理功能,支持win2012
    delphi windows远程桌面链接源码,带代理功能,支持win2012 原创代码
    2023-02-10 08:55:03下载
    积分:1
  • 用Delphi编写锁定电脑的程序
    Delphi锁定计算机,锁定电脑,不允许别人可以操作,类似Windows自带的锁定程序,其实锁定是非常简单的,不几行代码就能实现:   procedure TForm1.SpeedButton1Click(Sender: TObject);   begin    LockWorkStation;   end;   若需要完整的源码,请下载本源码包。
    2022-04-28 20:57:54下载
    积分:1
  • Delphi 在程序运行过程中动态添加菜单
    Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:   self.MainMenu1.AutoHotkeys:=maManual;   self.MainMenu1.AutoLineReduction:=maManual;   通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。
    2022-03-22 14:48:49下载
    积分:1
  • Delphi 图片颜色逐渐加深功能的实现
    Delphi演示如何将一张图片的颜色加深,类似于调整对比度,不过本效果不加入了渐变加深的动画效果,按住按钮图片一直变暗下去,要知空间,你可看下以下代码:   Bitmap:=image1.Picture.Bitmap;   image1.Height:= Bitmap.Height;   image1.Width:= Bitmap.Width;   for i:=0 to 255 do   begin    sleep(10);    for y:=0 to Bitmap.Height-1 do    begin    pixcolo:=Bitmap.Scanline[y]; //扫描每行像素颜色    for x:=0 to ((Bitmap.Width*3)-1) do    //递减颜色值,不同的递减值可改变不同的速度    if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);    end;    Image1.Canvas.Draw(0,0,Bitmap);    Application.ProcessMessages; //让Application去处理消息队伍中的消息   end;
    2022-03-23 16:34:19下载
    积分:1
  • Delphi时间换算 换算秒数为时间格式
    Delphi时间换算 换算秒数为时间格式,其实这种换算还是挺简单的吧,TimeToStr(I/86400);就可以算出。在运行的程序窗口中,输入任意秒数(必需输入数字)后,点击确定按钮,即可显示出时间格式的秒数了。具体的代码这里不帖了,需要的请下载完整源码吧,运行效果图如截图所示。
    2022-07-17 19:50:24下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载