杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2172|回复: 0

INNO GIF 动画

[复制链接]
发表于 2017-2-26 14:09:54 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. ; gifctrl.dll 为一个用于 Inno Setup 的 12 KB 的 gif 显示插件,同样可以显示 BMP 和 JPEG。

  2. [Setup]
  3. AppName=我的程序
  4. AppVerName=我的程序 版本 1.5
  5. DefaultDirName={pf}\我的程序
  6. DefaultGroupName=我的程序
  7. UninstallDisplayIcon={app}\MyProg.exe
  8. Compression=lzma

  9. [Files]
  10. Source: "MyProg.exe"; DestDir: "{app}"
  11. Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
  12. Source: "gifctrl.dll"; Flags: dontcopy
  13. Source: nsisinstall.gif; DestDir: {app}; Flags: dontcopy

  14. [Icons]
  15. Name: "{group}\我的程序"; Filename: "{app}\MyProg.exe"

  16. [code]
  17. const
  18.    HALIGN_CENTER = 0; //水平居中
  19.    HALIGN_LEFT = 1;   //水平靠左
  20.    HALIGN_RIGHT = 2;  //水平靠右

  21.    VALIGN_CENTER = 0; //垂直居中
  22.    VALIGN_TOP = 1;    //垂直靠上
  23.    VALIGN_BOTTOM = 2; //垂直靠下

  24.    FIT_NONE = 0;      //不适应窗口
  25.    FIT_WIDTH = 1;     //适应窗口宽度
  26.    FIT_HEIGHT = 2;    //适应窗口高度
  27.    FIT_BOTH = 3;      //适应窗口宽度和高度
  28.    
  29.    CLR_INVALID = $FFFFFFFF; //自动取容器左上角的颜色作为底色,如果取色失败,用按钮颜色代替。

  30. function playgif(GifHandle: HWND; HAlign: integer; VAlign: integer; BGColor: DWord;
  31.      Fit: integer; GifFileName: PChar): BOOL; external 'playgif@files:gifctrl.dll stdcall';
  32. //GifHandle    放置图片的容器,一般用 TPanel 装载图片就可以了。
  33. //HAlign       水平放置位置
  34. //VAlign       垂直放置位置
  35. //BGColor      背景颜色
  36. //Fit          适应窗口大小
  37. //GifFileName  图片文件名
  38. function stopgif(): BOOL; external 'stopgif@files:gifctrl.dll stdcall';
  39. //释放Gif显示

  40. var
  41.   GifPanel: TPanel;

  42. procedure InitializeWizard();
  43. var
  44.   GifFileName: String;
  45. begin
  46.   ExtractTemporaryFile('nsisinstall.gif');
  47.   
  48.   GifPanel := TPanel.Create(WizardForm);
  49.   GifPanel.Parent := WizardForm.InstallingPage;
  50.   GifPanel.Caption := '';
  51.   GifPanel.Top := WizardForm.PROGRESSGAUGE.Top + WizardForm.PROGRESSGAUGE.Height + 5;
  52.   GifPanel.Left := 0;
  53.   GifPanel.Width := WizardForm.InstallingPage.Width;
  54.   GifPanel.Height := WizardForm.InstallingPage.Height - (WizardForm.PROGRESSGAUGE.Top
  55.        + WizardForm.PROGRESSGAUGE.Height + 5);
  56.       
  57.   playgif(GifPanel.Handle, HALIGN_CENTER, VALIGN_BOTTOM, CLR_INVALID, FIT_WIDTH,
  58.        ExpandConstant('{tmp}\nsisinstall.gif'));
  59. end;

  60. procedure DeinitializeSetup();
  61. begin
  62.   stopgif();
  63. end;

  64. procedure CurPageChanged(CurPageID: Integer);
  65. begin
  66.   if CurPageID = wpInstalling then
  67.   begin
  68.     MsgBox('暂停一下,看看效果。', mbInformation, MB_OK);
  69.   end;
  70. end;
复制代码


相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 11:45 , Processed in 0.113109 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表