`
ydw5271084
  • 浏览: 7804 次
社区版块
存档分类
最新评论

inno setup 图片滚动 yang

 
阅读更多
//
//
//
//
//
//  有朋友反映webctrl 和 isshowside 不支持窗口拖拽,这里通过botva2衍生制作一个渐显的图片轮播,代码还能完善一下 这里做一个参考给大家。
//
//  通过botv2 衍生 ImgSetVisibilityEX(控制四图) ImgSetTransparentEx(控制四图) 这个两个衍生的procedure 大家可以自己修改成更多图的,
//
//
//
//  代码.mad8834671
[setup]
AppName=图片轮播
AppVerName=图片轮播
DefaultDirName=.\TEST
AppVersion=1.0
VersionInfoCompany=图片轮播
VersionInfoCopyright=mad8834671
VersionInfoDescription=图片轮播
VersionInfoProductName=mad8834671
VersionInfoProductTextVersion=mad8834671
VersionInfoProductVersion=1.0
VersionInfoTextVersion=1.0
VersionInfoVersion=1.0
Uninstallable=no
OutputBaseFilename=图片轮播
OutputDir=.

[Messages]
SetupAppTitle=
SetupWindowTitle=%1
[Files]
Source:Files\* ; DestDir: {tmp}; Flags: dontcopy solidbreak; Attribs: hidden system



#include 'botva2.iss'
function  ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';
{ RedesignWizardFormBegin } // 不要删除这一行代码。
// 不要修改这一段代码,它是自动生成的。
var
  NewButton1: TNewButton;
  Timer1: TTimer;

procedure NewButton1Click(Sender: TObject); forward;
procedure Timer1Timer(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
  with WizardForm.WizardBitmapImage do
  begin
    Left := ScaleX(-159);
    Top := ScaleY(-76);
  end;

  with WizardForm.WelcomeLabel2 do
  begin
    Left := ScaleX(-296);
    Top := ScaleY(-20);
  end;

  with WizardForm.WelcomeLabel1 do
  begin
    Left := ScaleX(-280);
    Top := ScaleY(-9);
  end;

  { NewButton1 }
  NewButton1 := TNewButton.Create(WizardForm);
  with NewButton1 do
  begin
    Parent := WizardForm;
    Left := ScaleX(50);
    Top := ScaleY(125);
    Width := ScaleX(50);
    Height := ScaleY(25);
    Caption := '测试';
    OnClick := @NewButton1Click;
  end;

  { Timer1 }
  Timer1 := TTimer.Create(WizardForm);
  with Timer1 do
  begin
    OnTimer := @Timer1Timer;
  end;

  NewButton1.TabOrder := 5;

{ ReservationBegin }
  // 这一部分是提供给你的,你可以在这里输入一些补充代码。

{ ReservationEnd }
end;
// 不要修改这一段代码,它是自动生成的。
{ RedesignWizardFormEnd } // 不要删除这一行代码。



var
t1,t2,t3,t4,DHIMG1:Longint;
js1,js2:integer;

procedure ImgSetVisibilityEx(IMGl1,IMGl2,IMGl3,IMGl4: Longint;I1,I2,I3,I4:integer);     //ImgSetVisibility   衍生的   ImgSetVisibilityEX 可以参考以下增加或减少  代码.mad8834671
begin
  if I1=0 then                   // I1=0 表示false  大于0 都表示true 下同
  begin
  ImgSetVisibility(IMGl1,false)
  end else
  begin
  ImgSetVisibility(IMGl1,true)
  end;
  if I2=0 then
  begin
  ImgSetVisibility(IMGl2,false)
  end else
  begin
  ImgSetVisibility(IMGl2,true)
  end;
  if I3=0 then
  begin
  ImgSetVisibility(IMGl3,false)
  end else
  begin
  ImgSetVisibility(IMGl3,true)
  end;
  if I4=0 then
  begin
  ImgSetVisibility(IMGl4,false)
  end else
  begin
  ImgSetVisibility(IMGl4,true)
  end;
end;
procedure ImgSetTransparentEx(IMGl1,IMGl2,IMGl3,IMGl4: Longint;Transparent:integer);   //ImgSetTransparent   衍生的   ImgSetTransparentEx 可以参考以下增加或减少   代码.mad8834671
begin
  ImgSetTransparent(IMGl1,Transparent)     //Transparent 为了方便控制透明值
  ImgSetTransparent(IMGl2,Transparent)
  ImgSetTransparent(IMGl3,Transparent)
  ImgSetTransparent(IMGl4,Transparent)
end;


procedure Timer1Timer(Sender: TObject);   //核心代码 时钟控制动画 需要inno5 增强版      代码.mad8834671
begin

  js2:=js2+10; //控制图片透明度
if js2<255 then
  begin
  ImgSetTransparentEx(t1,t2,t3,t4,255-js2-5)
  end;
if js2=260 then
  begin
  js1:=js1+1;  //控制显示图片
if js1=1 then
  begin
  ImgSetVisibilityEx(t1,t2,t3,t4,1,0,0,0)
  end;
if js1=2 then
  begin
  ImgSetVisibilityEx(t1,t2,t3,t4,0,1,0,0)
  end;
if js1=3 then
  begin
  ImgSetVisibilityEx(t1,t2,t3,t4,0,0,1,0)
  end;
if js1=4 then
  begin
  ImgSetVisibilityEx(t1,t2,t3,t4,0,0,0,1)
  end;
if js1>4 then
  begin
  ImgSetVisibilityEx(t1,t2,t3,t4,1,0,0,0)
  js1:=1
  end;
  end;
if (js2>260) and (js2<520) then  //控制图片透明度
  begin
  ImgSetTransparentEx(t1,t2,t3,t4,js2-255)
  end;
if  (js2>510) then      //控制图片透明度 计数归零
  begin
  js2:=0
  end;
  ImgApplyChanges(WizardForm.Handle)
end;    //核心代码

procedure NewButton1Click(Sender: TObject);   //控制速度  Timer1.Interval:=20
begin
  if  Timer1.Interval=0 then
  begin
  Timer1.Interval:=50
  end else
  begin
  Timer1.Interval:=0
  end;
end;


procedure WizardMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture
  SendMessage(WizardForm.Handle, $0112, $F012, 0)
end;
procedure InitializeWizard();
begin
  RedesignWizardForm;
  Timer1.Interval:=0
  js1:=1
  ExtractTemporaryFile('01.jpg')    //提取图片
  ExtractTemporaryFile('02.jpg')
  ExtractTemporaryFile('03.jpg')
  ExtractTemporaryFile('04.jpg')
  WizardForm.OuterNotebook.Hide;
  WizardForm.BorderStyle :=bsnone
  WizardForm.OnMouseDown:=@WizardMouseDown
end;


procedure DHcore();
begin
  RedesignWizardForm;
end;



procedure CurPageChanged(CurPageID: Integer);
begin

  WizardForm.Height:=150
  WizardForm.Width:=150
  t1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\01.jpg'),0,0,150,150,true,true);    //加载图片必备的
  t2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\02.jpg'),0,0,150,150,true,true);
  t3:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\03.jpg'),0,0,150,150,true,true);
  t4:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\04.jpg'),0,0,150,150,true,true);
  ImgSetVisibility(t1,true)     //出现动画时 第一张显示的图片   下面几张禁用的
  ImgSetVisibility(t2,false)
  ImgSetVisibility(t3,false)
  ImgSetVisibility(t4,false)
  ImgApplyChanges(WizardForm.Handle)
end;

procedure DeinitializeSetup();
begin
gdipShutdown;
end;

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030103E02000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E74486569676874034C010B436C69656E74576964746803F1010D4578706C6963697457696474680301020E4578706C696369744865696768740373010D506978656C73506572496E636802600A54657874486569676874020C00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D655061676500F10C544269746D6170496D6167651157697A6172644269746D6170496D616765044C6566740361FF03546F7002B40C4578706C696369744C6566740361FF0B4578706C69636974546F7002B40000F10E544E6577537461746963546578740D57656C636F6D654C6162656C32044C65667403D8FE03546F7002EC0C4578706C696369744C65667403D8FE0B4578706C69636974546F7002EC0000F10E544E6577537461746963546578740D57656C636F6D654C6162656C31044C65667403E8FE03546F7002F70C4578706C696369744C65667403E8FE0B4578706C69636974546F7002F7000000000A544E6577427574746F6E0A4E6577427574746F6E31044C656674023203546F70027D05576964746802320648656967687402190743617074696F6E12020000004B6DD58B085461624F726465720205074F6E436C69636B070F4E6577427574746F6E31436C69636B0000065454696D65720654696D657231074F6E54696D6572070B54696D65723154696D6572044C656674021003546F700208000000



分享到:
评论

相关推荐

    innosetup界面美化工具.zip

    innosetup安装界面美化: 解压压缩包中的 Inno Setup 5.5.zip,运行Inno Setup 5.5\Inno Setup 5\Compil32.exe,右上角可以改变语言。 打开build.iss文件,一些自定义字段请按需修改,点击Inno Setup工具栏中的 ...

    【innoSetup反向打包】innoextract

    Inno Setup是一个为Microsoft Windows应用程序创建安装程序的工具。innoextract允许在非Windows系统下提取此类安装程序,而无需使用wine运行实际的安装程序。innoextract 目前支持由 Inno Setup 1.2.10 到 6.2.1 ...

    Inno Setup 6.2.1以及中文语言包

    "innosetup-6.2.1.exe"是Inno Setup 6.2.1的主要安装程序文件,用户可以通过运行这个文件来安装或升级Inno Setup的开发环境。这个执行文件可能包含所有必要的组件,如编译器、脚本编辑器和帮助文档,使得用户可以在...

    inno setup中文帮助文档

    《Inno Setup中文帮助文档》是为软件开发者和系统管理员提供的一款详尽的指南,它主要介绍了Inno Setup的使用方法和配置技巧。Inno Setup是一款功能强大的安装制作工具,常用于创建Windows平台上的应用程序安装包。...

    Inno Setup 中文教程

    **Inno Setup 中文教程** Inno Setup是一款广泛使用的免费安装制作工具,尤其适用于Windows平台。它可以帮助开发者创建自解压安装程序,提供简洁而强大的脚本语言,使得程序的安装、卸载过程更加专业和个性化。这个...

    Inno Setup + 语言包

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的界面和强大的功能而闻名。Inno Setup支持创建单文件安装包,自解压程序,以及多语言安装界面,使得开发者...

    innosetup 仿有道云安装包

    【标题】"innosetup 仿有道云安装包" 涉及的主要知识点是使用Inno Setup创建类似有道云笔记的安装程序。Inno Setup是一款免费且开源的安装制作工具,常用于创建Windows应用程序的安装包,它允许开发者自定义安装界面...

    InnoSetup6.0.3安装包与中文包.rar

    它的最新版本是6.0.3,这个压缩包“InnoSetup6.0.3安装包与中文包.rar”包含了该版本的安装程序以及中文语言包,使得国内用户能够方便地使用中文界面进行安装脚本的编写和安装程序的创建。 首先,我们来了解一下...

    innosetup安装界面美化.zip

    InnoSetup允许用户通过修改其内置的脚本文件(.iss)来自定义安装界面的各个方面,包括背景图片、按钮样式、字体颜色等。这个资源包包含了PSD文件,这意味着设计师可以利用Photoshop等图像编辑工具进行界面元素的...

    Inno Setup 5.zip

    《Inno Setup 5:Windows下的程序打包利器》 Inno Setup 5是一款经典的Windows平台应用程序打包工具,它能够将你的程序(如Tomcat、批处理脚本等)打包成易于安装的.exe文件,使得用户只需点击下一步、下一步,就能...

    inno setup 增强版

    Inno Setup是一款强大的安装包制作工具,尤其适合个人开发者和小型团队使用。它以其免费、易用和功能全面的特点在IT行业中受到了广泛欢迎。这款工具不仅提供了Windows 2000风格的传统安装界面,还支持设计出类似QQ...

    Inno Setup 6.1.0+ Chinese-Simplified-Translation 中文包

    3. **定制安装界面**:Inno Setup允许用户自定义安装程序的外观,包括图标、背景图片、许可协议等,以提升用户体验。 4. **集成数字签名**:为了增加软件的安全性,可以为安装程序添加数字签名,验证软件来源的合法...

    Inno Setup 6.1.0中文语言包

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的脚本语法和强大的功能集而受到开发者们的青睐。标题中的"Inno Setup 6.1.0中文语言包"指的是Inno Setup的...

    innosetup安装包+中文语言包

    InnoSetup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款软件以其简单易用的脚本语法和强大的功能集而受到开发者们的青睐。标题中的"innosetup安装包+中文语言包"表明我们拥有Inno...

    innosetup脚本范例

    InnoSetup支持自定义安装界面,包括背景图片、图标、按钮样式等。这可以通过`[Graphics]`部分和`[Messages]`部分进行设置。 7. **编译与调试** 使用InnoSetup的编译器`ISCC.exe`,可以将`.iss`脚本转换为可执行的...

    innosetup-5.6.1+中文语言包

    《InnoSetup 5.6.1:打造专业级别的安装程序》 InnoSetup是一款广泛应用于软件安装包制作的工具,其5.6.1版本是该系列的一个经典版本,深受开发者喜爱。这款软件提供了丰富的功能,使得创建具有专业水准的安装程序...

    InnoSetup中文帮助

    ### InnoSetup中文帮助知识点详解 #### 一、InnoSetup简介 - **定义**:InnoSetup是一款专为Windows操作系统设计的免费安装程序制作工具。首次发布于1997年,经过多年的持续更新与优化,其在功能性与稳定性方面已...

    解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题

    解决 Inno Setup 制作中文安装包在非中文系统上显示乱码的问题 在制作安装包时,Inno Setup 是一个常用的选择,尤其是在制作中文安装包时。但是,在非中文系统上,Inno Setup 制作的中文安装包常常会出现乱码的问题...

    Innosetup软件及安装界面美化iss脚本

    描述中提到的"相关工具软件和脚本以及实例用到的美工图片"意味着除了InnoSetup主程序(如Inno Setup v5.5.9 CN by KngStr (build 20180118).exe)之外,还有用于编辑和编译脚本的工具,例如ISCC(Inno Setup ...

    inno setup-6.2.0以及中文包

    1. **下载并安装Inno Setup**:首先,你需要运行`innosetup-6.2.0.exe`来安装Inno Setup的主程序。 2. **集成中文语言**:在Inno Setup的安装过程中,选择自定义安装,并勾选需要的语言包,或者在安装完成后将`...

Global site tag (gtag.js) - Google Analytics