Originally Posted by rinaldo
(Post 455225)
Code:
#define SlideShow
#define SlideTime "3000"
#define GameName "ISS"
[Setup]
AppName={#GameName}
DefaultDirName={sd}\{#GameName}
DefaultGroupName={#GameName}
AppVerName={#GameName}
[Files]
#ifdef SlideShow
Source: Slides\isSlideShow.dll; DestDir: {tmp}; Flags: dontcopy
Source: Slides\*.jpg; DestDir: {tmp}; Flags: dontcopy
#endif
Source: {win}\inf\*; DestDir: {app}\Files0; Flags: external recursesubdirs createallsubdirs;
[Code ]
#ifdef SlideShow
var
TimerID: LongWord;
CurrentPicture:integer;
PicList: TStringlist;
type
TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external '[email protected] stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external '[email protected] stdcall';
function WrapTimeCallback(Callback:TProc; NumParam:integer): longword; external 'WrapCallback@files:isslideshow.dll stdcall';
procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Stretch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall';
procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslideshow.dll stdcall';
procedure ShowImage(ipath:PAnsiChar; Effect:integer; SpeedTransition: integer); external 'ShowImage@files:isslideshow.dll stdcall';
procedure SlideImg();
begin
PicList:=tstringlist.Create;
ExtractTemporaryFile('1.jpg');
ExtractTemporaryFile('2.jpg');
ExtractTemporaryFile('3.jpg');
ExtractTemporaryFile('4.jpg');
ExtractTemporaryFile('5.jpg');
ExtractTemporaryFile('6.jpg');
ExtractTemporaryFile('7.jpg');
ExtractTemporaryFile('8.jpg');
ExtractTemporaryFile('9.jpg');
ExtractTemporaryFile('10.jpg');
piclist.add(ExpandConstant('{tmp}') + '\1.jpg');
piclist.add(ExpandConstant('{tmp}') + '\2.jpg');
piclist.add(ExpandConstant('{tmp}') + '\3.jpg');
piclist.add(ExpandConstant('{tmp}') + '\4.jpg');
piclist.add(ExpandConstant('{tmp}') + '\5.jpg');
piclist.add(ExpandConstant('{tmp}') + '\6.jpg');
piclist.add(ExpandConstant('{tmp}') + '\7.jpg');
piclist.add(ExpandConstant('{tmp}') + '\8.jpg');
piclist.add(ExpandConstant('{tmp}') + '\9.jpg');
piclist.add(ExpandConstant('{tmp}') + '\10.jpg');
end;
#endif
procedure InitializeWizard();
begin
with WizardForm do begin
#ifdef SlideShow
SlideImg;
#endif
end;
end;
#ifdef SlideShow
procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);
begin
CurrentPicture:=CurrentPicture+1;
if CurrentPicture=piclist.count+1 then CurrentPicture:=1;
ShowImage(piclist.strings[CurrentPicture - 1], 2, 1000);
end;
#endif
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpInstalling: begin
#ifdef SlideShow
InitializeSlideShow(WizardForm.Handle, 0, 0, scaleX(501), ScaleY(314), true, 2);
CurrentPicture:=1;
ShowImage(piclist.strings[CurrentPicture-1], 1, 1000);
TimerID:=SetTimer(0, 0, {#SlideTime}, WrapTimeCallback(@OnTimer, 4));
WizardForm.ProgressGauge.parent:=WizardForm;
WizardForm.ProgressGauge.setbounds(ScaleX(10), ScaleY(326), ScaleX(385), WizardForm.ProgressGauge.height);
WizardForm.CancelButton.Left:=ScaleX(405);
WizardForm.CancelButton.Top:=ScaleY(325);
#endif
end;
wpFinished: begin
#ifdef SlideShow
KillTimer(0, TimerID);
DeinitializeSlideShow;
WizardForm.ProgressGauge.visible:=false;
#endif
end;
end;
end;
|