PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 9]


Страниц : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

nik1967
25-04-2018, 08:06
ROMKA-1977,
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[code]
var
Page: TWizardPage;
Test_pnl: TPanel;

procedure InitializeWizard();
begin
Page:= CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');

Test_pnl:= TPanel.Create(WizardForm);
with Test_pnl do begin
Top:= ScaleY(60);
Width:= ScaleX(497);
Height:= ScaleY(253);
BevelOuter:= bvNone;
Color:= clLime;
ParentBackground:= false;
Parent:= Page.Surface;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
Page.ID: MsgBox('Hello.', mbInformation, MB_OK);
end;
end;

ROMKA-1977
25-04-2018, 13:28
nik1967, в вашем примере панель отображается на кастомной странице. Мне же необходимо создать её на WizardForm но так чтобы она отображалась при кастомной странице, примерно так:
http://forum.oszone.net/attachment.php?attachmentid=152246&stc=1&d=1524651856
Вслучае стандартных страниц я указывал так :

procedure CurPageChanged(CurPageID: Integer);
begin
Test_pnl.Hide;
case CurPageID of
wpInfoBefore: Test_pnl.Show;
end;
end;

Из справки Inno Setup: Значения PageID для определенных ранее страниц мастера
wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished

Как же вывести панель на WizardForm только при отображении кастомной страницы ?

nik1967
25-04-2018, 13:50
ROMKA-1977,
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[code]
var
Page: TWizardPage;
Test_pnl: TPanel;

procedure InitializeWizard();
begin
Page:= CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');

Test_pnl:= TPanel.Create(WizardForm);
with Test_pnl do begin
Top:= ScaleY(60);
Width:= ScaleX(497);
Height:= ScaleY(253);
BevelOuter:= bvNone;
Color:= clLime;
ParentBackground:= false;
Parent:= WizardForm;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
Test_pnl.Hide;
case CurPageID of
Page.ID: Test_pnl.Show;
end;
end;

TheLeon
09-05-2018, 18:17
Здравствуйте, уважаемые форумчане OSZone.net.
-
1. Опять нужна ваша помощь в моих безумных идеях. Проще говоря: происходит долгий запуск установщика дополнений на игру, затем, перейдя на страницу выбора компонента(картинки на каждый компонент присутствуют), начинаются дикие тормоза установщика. Я думаю, что скорее всего, это большое кол-во и объём файлов установщика(весит 335 МБ). Если ли какие-нибудь решения по этой ситуации?
-
2. Проблема с установкой дополнений на игру, которая расположена в Program Files, прогресс бар в самом установщике показывает, что идёт установка, но, перейдя в папку игры, после окончания, ничего не изменилось/не добавилось.


[Setup]
AppName=Vehicles for SpinTires™
AppVersion=1.0
AllowNoIcons=yes
AppPublisher=Leon
DefaultDirName=C:\Program Files (x86)\Spintires
DisableProgramGroupPage=auto
DisableReadyPage=yes
DirExistsWarning=no
DisableWelcomePage=yes
DisableFinishedPage=no
OutputBaseFilename=Vehicles for Spintires
OutputDir=C:\Users\Unknown\Documents\Inno Setup\Examples
LicenseFile=licence.rtf
SetupIconFile=images\SetupIcon.ico
WizardSmallImageFile=images\WizardSmallImage.bmp
WizardImageFile=images\WizardImage.bmp
PrivilegesRequired=admin
Compression=zip/9
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True
CreateUninstallRegKey=no
Uninstallable=no

[Languages]
Name: "RU"; MessagesFile: "Russian.isl"

[Types]
Name: full; Description: Полная установка;
Name: iscustom; Description: Выборочная установка;

[Components]
Name: CAR1; Description: {code:CompHelper|Bentley Continental Supersports}; Types: full;
Name: CAR2; Description: {code:CompHelper|BMW X5 M}; Types: full;
Name: CAR3; Description: {code:CompHelper|Chevrolet Silverado 2500}; Types: full;
Name: CAR4; Description: {code:CompHelper|Fiat Ducato (250)}; Types: full;
Name: CAR5; Description: {code:CompHelper|Ford Raptor Pre-Runner}; Types: full;
Name: CAR6; Description: {code:CompHelper|Hummer H3}; Types: full;
Name: CAR7; Description: {code:CompHelper|Jeep Grand Cherokee}; Types: full;
Name: CAR8; Description: {code:CompHelper|LADA Vesta (ВАЗ-2180)}; Types: full;
Name: CAR9; Description: {code:CompHelper|MAN TGX}; Types: full;
Name: CAR10; Description: {code:CompHelper|Mercedes-Benz G65 AMG}; Types: full;
Name: CAR11; Description: {code:CompHelper|Nissan Pathfinder (R51)}; Types: full;
Name: CAR12; Description: {code:CompHelper|Range Rover Evoque LRX}; Types: full;
Name: CAR13; Description: {code:CompHelper|Range Rover Vogue (L405)}; Types: full;
Name: CAR14; Description: {code:CompHelper|Subaru Impreza STI}; Types: full;
Name: CAR15; Description: {code:CompHelper|Toyota Hilux Tonka Concept 2017}; Types: full;
Name: CAR16; Description: {code:CompHelper|Volkswagen Touareg}; Types: full;
Name: CAR17; Description: {code:CompHelper|Volvo FM}; Types: full;
Name: CAR18; Description: {code:CompHelper|Volvo XC90}; Types: full;
Name: CAR19; Description: {code:CompHelper|ВАЗ 2103 Жигули}; Types: full;
Name: CAR20; Description: {code:CompHelper|ВАЗ-21213 Нива}; Types: full;

[Dirs]
Name: "{app}\Vehicles"; Permissions: everyone-full

[Files]
;------------------------------Bentley Continental Supersports------------------------------
Source: "Files\Bentley Continental Supersports\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR1;
Source: "Files\Bentley Continental Supersports\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR1;
Source: "Files\Bentley Continental Supersports\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR1;
Source: "Files\Bentley Continental Supersports\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR1;
Source: "Files\Bentley Continental Supersports\sounds\engine\bentley_porsche\*"; DestDir: "{app}\Vehicles\sounds\engine\bentley_porsche"; Flags: ignoreversion; Components: CAR1;

;------------------------------------------BMW X5 M-----------------------------------------
Source: "Files\BMW X5 M\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR2;
Source: "Files\BMW X5 M\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR2;
Source: "Files\BMW X5 M\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR2;
Source: "Files\BMW X5 M\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR2;
Source: "Files\BMW X5 M\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR2;

;---------------------------------Chevrolet Silverado 2500----------------------------------
Source: "Files\Chevrolet Silverado 2500\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR3;
Source: "Files\Chevrolet Silverado 2500\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR3;
Source: "Files\Chevrolet Silverado 2500\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR3;
Source: "Files\Chevrolet Silverado 2500\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR3;
Source: "Files\Chevrolet Silverado 2500\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR3;
Source: "Files\Chevrolet Silverado 2500\textures\trucks\*"; DestDir: "{app}\Vehicles\textures\trucks"; Flags: ignoreversion; Components: CAR3;

;-------------------------------------Fiat Ducato (250)-------------------------------------
Source: "Files\Fiat Ducato (250)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\sounds\mentura\*"; DestDir: "{app}\Vehicles\sounds\mentura"; Flags: ignoreversion; Components: CAR4;
Source: "Files\Fiat Ducato (250)\textures\trucks\police\*"; DestDir: "{app}\Vehicles\textures\trucks\police"; Flags: ignoreversion; Components: CAR4;

;----------------------------------Ford Raptor Pre-Runner-----------------------------------
Source: "Files\Ford Raptor Pre-Runner\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR5;
Source: "Files\Ford Raptor Pre-Runner\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR5;
Source: "Files\Ford Raptor Pre-Runner\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR5;
Source: "Files\Ford Raptor Pre-Runner\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR5;
Source: "Files\Ford Raptor Pre-Runner\sounds\engine\SID-V8\*"; DestDir: "{app}\Vehicles\sounds\engine\SID-V8"; Flags: ignoreversion; Components: CAR5;

;-----------------------------------------Hummer H3-----------------------------------------
Source: "Files\Hummer H3\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR6;
Source: "Files\Hummer H3\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR6;
Source: "Files\Hummer H3\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR6;
Source: "Files\Hummer H3\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR6;
Source: "Files\Hummer H3\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR6;

;------------------------------------Jeep Grand Cherokee------------------------------------
Source: "Files\Jeep Grand Cherokee\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR7;
Source: "Files\Jeep Grand Cherokee\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR7;
Source: "Files\Jeep Grand Cherokee\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR7;
Source: "Files\Jeep Grand Cherokee\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR7;
Source: "Files\Jeep Grand Cherokee\sounds\engine\V8\*"; DestDir: "{app}\Vehicles\sounds\engine\V8"; Flags: ignoreversion; Components: CAR7;

;-----------------------------------LADA Vesta (ВАЗ-2180)-----------------------------------
Source: "Files\LADA Vesta (ВАЗ-2180)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR8;
Source: "Files\LADA Vesta (ВАЗ-2180)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR8;
Source: "Files\LADA Vesta (ВАЗ-2180)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR8;
Source: "Files\LADA Vesta (ВАЗ-2180)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR8;
Source: "Files\LADA Vesta (ВАЗ-2180)\sounds\laaadaaa_veeesttas\*"; DestDir: "{app}\Vehicles\sounds\laaadaaa_veeesttas"; Flags: ignoreversion; Components: CAR8;
Source: "Files\LADA Vesta (ВАЗ-2180)\sounds\laaadaaa_veeesttas\niZZmsa\*"; DestDir: "{app}\Vehicles\sounds\laaadaaa_veeesttas\niZZmsa"; Flags: ignoreversion; Components: CAR8;

;-------------------------------------------MAN TGX-----------------------------------------
Source: "Files\MAN TGX\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR9;
Source: "Files\MAN TGX\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR9;
Source: "Files\MAN TGX\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR9;
Source: "Files\MAN TGX\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR9;
Source: "Files\MAN TGX\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR9;

;-----------------------------------Mercedes-Benz G65 AMG-----------------------------------
Source: "Files\Mercedes-Benz G65 AMG\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Mercedes-Benz G65 AMG\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR10;
Source: "Files\Mercedes-Benz G65 AMG\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR10;
Source: "Files\Mercedes-Benz G65 AMG\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR10;
Source: "Files\Mercedes-Benz G65 AMG\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR10;
Source: "Files\Mercedes-Benz G65 AMG\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR10;
Source: "Files\Mercedes-Benz G65 AMG\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Mercedes-Benz G65 AMG\textures\merc_g65\*"; DestDir: "{app}\Vehicles\textures\merc_g65"; Flags: ignoreversion; Components: CAR10;

;-----------------------------------Nissan Pathfinder (R51)---------------------------------
Source: "Files\Nissan Pathfinder (R51)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Nissan Pathfinder (R51)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Nissan Pathfinder (R51)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Nissan Pathfinder (R51)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Nissan Pathfinder (R51)\sounds\engine\V1\*"; DestDir: "{app}\Vehicles\sounds\engine\V1"; Flags: ignoreversion; Components: CAR11;
Source: "Files\Nissan Pathfinder (R51)\sounds\env\*"; DestDir: "{app}\Vehicles\sounds\env"; Flags: ignoreversion; Components: CAR11;

;-----------------------------------Range Rover Evoque LRX----------------------------------
Source: "Files\Range Rover Evoque LRX\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR12;
Source: "Files\Range Rover Evoque LRX\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR12;
Source: "Files\Range Rover Evoque LRX\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR12;
Source: "Files\Range Rover Evoque LRX\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR12;
Source: "Files\Range Rover Evoque LRX\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR12;

;---------------------------------Range Rover Vogue (L405)----------------------------------
Source: "Files\Range Rover Vogue (L405)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR13;
Source: "Files\Range Rover Vogue (L405)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR13;
Source: "Files\Range Rover Vogue (L405)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR13;
Source: "Files\Range Rover Vogue (L405)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR13;
Source: "Files\Range Rover Vogue (L405)\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR13;

;------------------------------------Subaru Impreza STI-------------------------------------
Source: "Files\Subaru Impreza STI\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\sounds\enginesti\*"; DestDir: "{app}\Vehicles\sounds\enginesti"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\textures\*"; DestDir: "{app}\Vehicles\textures"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\textures\sti\*"; DestDir: "{app}\Vehicles\textures\sti"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\textures\sub\*"; DestDir: "{app}\Vehicles\textures\sub"; Flags: ignoreversion; Components: CAR14;
Source: "Files\Subaru Impreza STI\textures\wh1\*"; DestDir: "{app}\Vehicles\textures\wh1"; Flags: ignoreversion; Components: CAR14;

;------------------------------Toyota Hilux Tonka Concept 2017------------------------------
Source: "Files\Toyota Hilux Tonka Concept 2017\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\_templates\*"; DestDir: "{app}\Vehicles\_templates"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\env\*"; DestDir: "{app}\Vehicles\sounds\env"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\truck\*"; DestDir: "{app}\Vehicles\sounds\truck"; Flags: ignoreversion; Components: CAR15;
Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\engine\V1\*"; DestDir: "{app}\Vehicles\sounds\engine\V1"; Flags: ignoreversion; Components: CAR15;

;------------------------------------Volkswagen Touareg-------------------------------------
Source: "Files\Volkswagen Touareg\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR16;
Source: "Files\Volkswagen Touareg\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR16;
Source: "Files\Volkswagen Touareg\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR16;
Source: "Files\Volkswagen Touareg\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR16;
Source: "Files\Volkswagen Touareg\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR16;

;------------------------------------------Volvo FM-----------------------------------------
Source: "Files\Volvo FM\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR17;
Source: "Files\Volvo FM\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR17;
Source: "Files\Volvo FM\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR17;
Source: "Files\Volvo FM\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR17;
Source: "Files\Volvo FM\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR17;

;-----------------------------------------Volvo XC90----------------------------------------
Source: "Files\Volvo XC90\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR18;
Source: "Files\Volvo XC90\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR18;
Source: "Files\Volvo XC90\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR18;
Source: "Files\Volvo XC90\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR18;
Source: "Files\Volvo XC90\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR18;

;--------------------------------------ВАЗ 2103 Жигули--------------------------------------
Source: "Files\ВАЗ 2103 Жигули\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR19;
Source: "Files\ВАЗ 2103 Жигули\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR19;
Source: "Files\ВАЗ 2103 Жигули\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR19;
Source: "Files\ВАЗ 2103 Жигули\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR19;
Source: "Files\ВАЗ 2103 Жигули\sounds\LADA1500_nEw\*"; DestDir: "{app}\Vehicles\sounds\LADA1500_nEw"; Flags: ignoreversion; Components: CAR19;

;--------------------------------------Нива (ВАЗ-21213)-------------------------------------
Source: "Files\Нива (ВАЗ-21213)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR20;
Source: "Files\Нива (ВАЗ-21213)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR20;
Source: "Files\Нива (ВАЗ-21213)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR20;
Source: "Files\Нива (ВАЗ-21213)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR20;
Source: "Files\Нива (ВАЗ-21213)\sounds\2106\*"; DestDir: "{app}\Vehicles\sounds\2106"; Flags: ignoreversion; Components: CAR20;

;----------------------------------------Русификатор----------------------------------------
Source: "Files\translate\strings\ru\*"; DestDir: "{app}\Vehicles\strings\ru"; Flags: ignoreversion;

;--------------------------------------Временные файлы--------------------------------------
Source: "images\ad.bmp"; DestDir: "{tmp}"; Flags: dontcopy
Source: "images\vehicles\*"; DestDir: "{tmp}"; Flags: dontcopy

[Code]
type
TComponentDesc = record
Description: String;
ImageName: String;
Index: Integer;
end;
var
ComponentsInfoImage: TBitmapImage;
ComponentHelper: TStringList;
CompDescText: TLabel;
Image1: TBitmapImage;
DelTmp: TNewCheckBox;
function CompHelper(Param: string): string;
var
Image: TBitmap;
Index: Integer;
begin
Result := '';
with TStringList.Create do
try
StringChangeEx(Param, '|', #13#10, True);
Text := Param;
if Count = 0 then Exit;
if Count > 0 then
Index := ComponentHelper.Add(Strings[0]);
if Count > 1 then
begin
if not FileExists(ExpandConstant('{tmp}\') + Strings[1]) then
ExtractTemporaryFile(Strings[1]);
Image := TBitmap.Create;
Image.LoadFromFile(ExpandConstant('{tmp}\') + Strings[1]);
ComponentHelper.Objects[Index] := Image;
end;
Result := ComponentHelper[Index];
finally
Free;
end;
end;

function DelTmpCheck(): boolean;
begin
result := DelTmp.Checked;
end;

procedure ComponentsListClickCheck(Sender: TObject);
begin
if not Assigned(Sender) or (TNewCheckListBox(Sender).ItemIndex = -1) then Exit;
ComponentsInfoImage.Bitmap.Assign(TBitmap(ComponentHelper.Objects[TNewCheckListBox(Sender).ItemIndex]));
end;

function InitializeSetup(): Boolean;
begin
Result := True;
ComponentHelper := TStringList.Create;
ComponentHelper.Duplicates := dupIgnore;
end;

var
CheckLicense: TCheckBox;

procedure LicenseOnClick(Sender: TObject);
begin
if (CheckLicense.Checked) = True then
begin
WizardForm.LicenseAcceptedRadio.Checked := True;
end else
begin
WizardForm.LicenseNotAcceptedRadio.Checked := True;
end;
end;

var
CompDescs: array of TComponentDesc;
CompDescImgPanel: TPanel;
CompIndex, LastIndex: Integer;
CompDescImg: TBitmapImage;

procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var
i: Integer;
begin
if Index = LastIndex then Exit;
CompIndex := -1;
for i := 0 to GetArrayLength(CompDescs) -1 do
begin
if (CompDescs[i].Index = Index) then
begin
CompIndex := i;
Break;
end;
end;
if (CompIndex >= 0) and (Area = iaItem) then
begin
if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then
ExtractTemporaryFile(CompDescs[CompIndex].ImageName);
CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);
CompDescImg.Show;
if Index = 0 then
CompDescText.Caption := 'Наведите курсор мыши на компонент, чтобы посмотреть его превью.';
end;
LastIndex := Index;
end;

procedure CompListMouseLeave(Sender: TObject);
begin
CompDescImg.Hide;
LastIndex := -1;
end;

procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);
var
i: Integer;
begin
i := GetArrayLength(CompDescs);
SetArrayLength(CompDescs, i + 1);
CompDescs[i].Description := ADescription;
CompDescs[i].ImageName := AImageName;
CompDescs[i].Index := AIndex - 1
end;

procedure Image1Click(Sender: TObject);
var ErrorCode: Integer;
begin
ShellExec('open','https://www.nssro.ga','', '', SW_SHOW, ewNoWait, ErrorCode)
end;

procedure InitializeWizard();
var
i: Integer;
begin
WizardForm.SelectComponentsLabel.Hide;
WizardForm.SelectDirBitmapImage.Hide;
WizardForm.DiskSpaceLabel.Hide;
WizardForm.DirBrowseButton.SetBounds(ScaleX(342),ScaleY(39),ScaleX(75),ScaleY(22));
WizardForm.DirEdit.SetBounds(ScaleX(0),ScaleY(40),ScaleX(332),ScaleY(20));
WizardForm.SelectDirBrowseLabel.SetBounds(ScaleX(0),ScaleY(13),ScaleX(417),ScaleY(27));
WizardForm.SelectDirLabel.SetBounds(ScaleX(0),ScaleY(1),ScaleX(417),ScaleY(14));
WizardForm.TypesCombo.Top := ScaleY(0)
WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;
WizardForm.ComponentsList.Visible := True;
WizardForm.ComponentsList.Height := ScaleX(204);
WizardForm.ComponentsList.Top := ScaleX(31);
WizardForm.ComponentsList.Width := ScaleX(200);
for i := 0 to WizardForm.ComponentsList.Items.Count - 1 do
if not WizardForm.ComponentsList.ItemEnabled[i] then
WizardForm.ComponentsList.ItemSubItem[i] := '';
WizardForm.ComponentsDiskSpaceLabel.Visible := True;
WizardForm.LicenseNotAcceptedRadio.Hide;
WizardForm.LicenseAcceptedRadio.Hide;
WizardForm.LicenseMemo.Height := ScaleY(175);

DelTmp := TNewCheckBox.Create(WizardForm);
DelTmp.Parent := WizardForm.FinishedPage;
DelTmp.Caption := 'Удалить временные файлы';
DelTmp.Left := ScaleX(180);
DelTmp.Top := ScaleY(207);
DelTmp.Width := ScaleX(300);
DelTmp.Height := ScaleY(15);;
DelTmp.Checked := true;

CheckLicense:= TCheckBox.Create(WizardForm);
CheckLicense.Left:= ScaleX(0);
CheckLicense.Top:= ScaleY(216);
CheckLicense.Caption:= WizardForm.LicenseAcceptedRadio.Caption;
CheckLicense.Width:= ScaleX(417);
CheckLicense.OnClick:= @LicenseOnClick;
CheckLicense.Parent:= WizardForm.LicensePage;

Image1 := TBitmapImage.Create(WizardForm);
with Image1 do
begin
Parent := WizardForm.SelectDirPage;
SetBounds(ScaleX(0),ScaleY(70),ScaleX(416),ScaleY(170));
ExtractTemporaryFile('ad.bmp');
Bitmap.LoadFromFile(ExpandConstant('{tmp}\ad.bmp'));
OnClick:=@Image1Click;
Enabled:=True;
Cursor:=crHand;
end;

CompDescImgPanel := TPanel.Create(WizardForm);
with CompDescImgPanel do
begin
Parent := WizardForm.SelectComponentsPage;
SetBounds(ScaleX(212), ScaleY(30), ScaleX(205), ScaleY(205));
BevelInner := bvLowered;
end;

CompDescText := TLabel.Create(WizardForm);
with CompDescText do
begin
Parent := CompDescImgPanel;
SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
AutoSize := False;
WordWrap := True;
Enabled := False;
Caption := 'Наведите курсор мыши на компонент, чтобы посмотреть его превью.';
end;

CompDescImg := TBitmapImage.Create(WizardForm);
with CompDescImg do
begin
Parent := CompDescImgPanel;
SetBounds(ScaleX(4), ScaleY(4), CompDescImgPanel.Width - ScaleX(7), CompDescImgPanel.Height - ScaleY(7));
Stretch := True;
Hide;
end;
AddCompDescription(1, (''), 'car1.bmp');
AddCompDescription(2, (''), 'car2.bmp');
AddCompDescription(3, (''), 'car3.bmp');
AddCompDescription(4, (''), 'car4.bmp');
AddCompDescription(5, (''), 'car5.bmp');
AddCompDescription(6, (''), 'car6.bmp');
AddCompDescription(7, (''), 'car7.bmp');
AddCompDescription(8, (''), 'car8.bmp');
AddCompDescription(9, (''), 'car9.bmp');
AddCompDescription(10, (''), 'car10.bmp');
AddCompDescription(11, (''), 'car11.bmp');
AddCompDescription(12, (''), 'car12.bmp');
AddCompDescription(13, (''), 'car13.bmp');
AddCompDescription(14, (''), 'car14.bmp');
AddCompDescription(15, (''), 'car15.bmp');
AddCompDescription(16, (''), 'car16.bmp');
AddCompDescription(17, (''), 'car17.bmp');
AddCompDescription(18, (''), 'car18.bmp');
AddCompDescription(19, (''), 'car19.bmp');
AddCompDescription(20, (''), 'car20.bmp');
end;

procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpSelectComponents: ComponentsListClickCheck(nil);
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
case CurStep of
ssDone:
begin
if DelTmpCheck then
begin
DelTree(ExpandConstant('{localappdata}\Temp'), false, true, true);
end;
end;
end;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\SpinTires.exe')) then begin
MsgBox('Ошибка! Вы должны указать путь до папки Spintires.', mbError, MB_OK);
Result := False;
end;
end;
end;

[Run]
Filename: "https://www.worldofmods.ru"; Description: "Посетить сайт WorldOfMods.ru"; Flags: postinstall shellexec;
Filename: "https://www.nsspro.ga"; Description: "«Not So Serious» в Steam"; Flags: postinstall shellexec;
Filename: "mailto:support@nsspro.ga"; Description: "Написать в поддержку"; Flags: postinstall shellexec unchecked;

habib2302
09-05-2018, 19:09
TheLeon, Временные файлы ставьте вверх списка т.к. инсталлятор выгружает файлы с верху в низ. Из-за этого инсталлятор и тормозит после запуска

TheLeon
11-05-2018, 13:54
habib2302, здравствуй, а возможно ли отключить размерность на всех компонентах установщика?

habib2302
11-05-2018, 14:08
TheLeon, я как понял, чтобы инсталлятор не показывал размеры компонентов?
Поменяйте WizardForm.ComponentsDiskSpaceLabel.Visible := True; на False

habib2302
11-05-2018, 14:27
TheLeon, попробуйте поменять WizardForm.ComponentsDiskSpaceLabel.Visible := False; на WizardForm.ComponentsDiskSpaceLabel.Hide;

TheLeon
11-05-2018, 14:51
habib2302, проблему решил, а именно: особо не заморачиваясь, зашёл в russian.isl и нашёл строчки ComponentSize=... и стёр всё, что после знака равно. Но всё равно спасибо вам.
-
Да, опять же возник вопрос: возможно ли сдвинуть поле тип установки вверх, а то я пытался, но у меня половина этого элемента перекрывал задний фон.
https://c.radikal.ru/c14/1805/73/252847181f0e.png

habib2302
11-05-2018, 15:12
TheLeon, ваша ссылка не работает. ПЕРЕЙДИТЕ ПО ССЫЛКЕ НИЖЕ
http://forum.oszone.net/faq.php?faq=vb_read_and_post#faq_vb_attachment_explain
Ссылка на прикрепленный файл не работает. Надо прикреплять в свое сообщение или загружать на облако или файлообм....

habib2302
11-05-2018, 15:30
TheLeon, тут без понятия. если был бы полный скрипт со всеми необходимыми файлами для работы инсталлятора, то помог.

TheLeon
11-05-2018, 15:47
habib2302. Ещё, если не трудно, посмотрите, почему не хочет устанавливать дополнения в program files и подобные директории.

habib2302
11-05-2018, 16:50
TheLeon, поле тип установки и так находится на 0 отметке WizardForm.TypesCombo.Top := ScaleY(0). не хочет устанавливать дополнения в program files и подобные директории. »в параметре DefaultDirName у вас указанно C:\Program Files (x86)\Spintires когда вместо C:\Program Files (x86) должна быть указана константа {pf} (подробнее читайте справку (https://yadi.sk/d/iwiaigDcYh8KN)). Для наилучшего сжатия инсталлятора
Compression=zip/9
InternalCompressLevel=ultra
CompressionThreads=2
SolidCompression=True
Compression=lzma2/Ultra64
SolidCompression=true
InternalCompressLevel=Ultra64
LZMADictionarySize=65536
LZMAMatchFinder=BT
LZMANumFastBytes=273
MergeDuplicateFiles=yes

habib2302
11-05-2018, 21:03
TheLeon, если вам нужно, чтобы инсталлятор устанавливал допы в папку с игрой, то надо делать через реестр
DefaultDirName={reg:HKxx\SubkeyName,ValueName|Default}
для установки в program files добавьте в раздел setup
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x86 x64

TheLeon
18-05-2018, 19:21
habib2302, нужна помощь, опять:
1. Как сделать так, чтобы после установки запускался bat файл(в зависимости оттого какой ты компонент выбрал), от имени администратора + скрытая установка(не высвечивалась командная строка)?
2. Как через bat открыть файл(.txt) и в конце дописать строчки(если они отсутствуют, если же нет, то ничего не делать):

habib2302
18-05-2018, 20:32
2. Как через bat открыть файл(.txt) и в конце дописать строчки(если они отсутствуют, если же нет, то ничего не делать): »
от имени администратора »
вам сюда (http://forum.oszone.net/forum-102.html)
1. Как сделать так, чтобы после установки запускался bat файл(в зависимости оттого какой ты компонент выбрал), скрытая установка(не высвечивалась командная строка)? »
Если у вас не запускается батник добавьте
Flags: ShellExec;
для скрытой установки добавьте
Flags: RunHidden;
в зависимости от выбранного компонента добавьте
Components: имя компонента; к нужным строкам из раздела run. если вам нужно добавить несколько компонентов к одной строке, то добавляйте имя компонента через пробел Components: AFP\INSTALL\AX AFP\INSTALL\ALL;

Iska
18-05-2018, 21:37
вам сюда »
С чего бы это туда. Встроенный язык InnoSetup — это, как раз-таки, здесь. Никакие «bat'ы» здесь не нужны.

Я и это: [решено] Замена строк в файле формата .xml (http://forum.oszone.net/thread-334726.html) предлагал, чтобы сделали здесь же на том же самом встроенном Паскале.

El Sanchez
19-05-2018, 13:01
Я и это: [решено] Замена строк в файле формата .xml предлагал, чтобы сделали здесь же на том же самом встроенном Паскале. »
Iska, да легко:


[Code]
/////////////////////////////////////////////////
procedure VehiclesConfig(const FileName: string);
var
XMLDoc, XMLNodes, XMLNode: Variant;
XPath: string;
begin
try
XMLDoc := CreateOleObject('Msxml2.DOMDocument');
XMLDoc.setProperty('SelectionLanguage', 'XPath');
XMLDoc.async := False;
XMLDoc.load(FileName);
if XMLDoc.parseError.errorCode <> 0 then
RaiseException(string(XMLDoc.parseError.reason));

XMLNode := XMLDoc.createElement('MediaPath');
XMLNode.setAttribute('Path', 'Vehicles');

XPath := '/Config/MediaPath[@Path="Media" and not(following-sibling::*[1][self::MediaPath[@Path="Vehicles"]])]/following-sibling::*[1]';
#if (Ver < 0x5050600) ; avoid VarIsNull
XMLNodes := XMLDoc.selectNodes(XPath);
if XMLNodes.length = 1 then
XMLDoc.documentElement.insertBefore(XMLNode, XMLNodes.item(0));
#else
XMLNodes := XMLDoc.selectSingleNode(XPath);
if not VarIsClear(XMLNodes) then
XMLDoc.documentElement.insertBefore(XMLNode, XMLNodes);
#endif
XMLDoc.save(FileName);
except
ShowExceptionMessage;
finally
end;
end;

///////////////////////////
procedure InitializeWizard;
begin
VehiclesConfig('{#SourcePath}\example.xml');
end;

ROMKA-1977
28-05-2018, 11:31
Здраствуйте. Помогите пож. объединить два кода.

К инсталятору добавил код фонового изображения используя isgsg.dll:

[Setup]
SourceDir=.
OutputDir=Setup
AppName=My Program
AppVerName=1.0
AppVersion=1.0
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
DisableWelcomePage=false
DisableDirPage=false
DisableProgramGroupPage=false

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Files]
Source: "Fon.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;

[UninstallDelete]
Type: filesandordirs; Name: "{app}"

[_Code]
function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';

procedure InitializeWizard;
begin
ssInitialize(GetWindowLong(MainForm.Handle,-8),0,False,1,$FF000000);
ExtractTemporaryFile('Fon.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\Fon.jpg');
end;

procedure DeinitializeSetup;
begin
ssDeInitialize;
end;

На странице InstallingPage прописал код минимизации окна:

[_Code]
var
ResizeButton: TButton;
PageResized, Show: Boolean;

function GetSystemMetrics(nIndex:Integer):integer;
external 'GetSystemMetrics@user32.dll stdcall delayload';
function GetSystemMenu(hWnd: HWND; bRevert: BOOL): LongWord;
external 'GetSystemMenu@user32.dll stdcall';
function DeleteMenu(hMenu: LongWord; uPosition, uFlags: UINT): BOOL;
external 'DeleteMenu@user32.dll stdcall';

procedure MinimizeInstallPage();
begin
WizardForm.MainPanel.Hide;
WizardForm.Bevel1.Hide;
WizardForm.Width:= ScaleX(395);
WizardForm.Height:= ScaleY(142);
WizardForm.Left:= GetSystemMetrics(16)-ScaleX(420);
WizardForm.Top:= GetSystemMetrics(17)-ScaleX(150);
WizardForm.InnerNotebook.Left:= ScaleX(10);
WizardForm.InnerNotebook.Top:= ScaleY(10);
WizardForm.InnerNotebook.Width:= ScaleX(370);
WizardForm.StatusLabel.Left:= ScaleX(0);
WizardForm.StatusLabel.Top:= ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:= ScaleX(0);
WizardForm.FileNameLabel.Top:= ScaleY(20);
WizardForm.FileNameLabel.Width:= WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:= ScaleY(40);
WizardForm.ProgressGauge.Width:= WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:= ScaleX(220);
WizardForm.CancelButton.Top:= ScaleY(80);
WizardForm.CancelButton.BringToFront;
ResizeButton.Left:= ScaleX(60);
ResizeButton.Top:= ScaleY(80);
ResizeButton.Caption:= 'Max.';
PageResized:= True;
end;

procedure ResumeInstallPage();
begin
WizardForm.Width:= ScaleX(503);
WizardForm.Height:= ScaleY(388);
WizardForm.Position:= poScreenCenter;
if Show then begin
WizardForm.MainPanel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(58));
WizardForm.MainPanel.Show;
WizardForm.Bevel1.Show;
end;
WizardForm.InnerNotebook.SetBounds(ScaleX(40), ScaleY(72), ScaleX(417), ScaleY(237));
WizardForm.StatusLabel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(16));
WizardForm.FilenameLabel.SetBounds(ScaleX(0), ScaleY(16), ScaleX(417), ScaleY(16));
WizardForm.ProgressGauge.SetBounds(ScaleX(0), ScaleY(42), ScaleX(417), ScaleY(21));
WizardForm.CancelButton.SetBounds(ScaleX(412), ScaleY(327), ScaleX(75), ScaleY(23));
ResizeButton.SetBounds(ScaleX(20), ScaleY(327),ScaleX(75), ScaleY(23));
ResizeButton.Caption:= 'Min.';
PageResized:= False;
end;

procedure ResizeButtonOnClick(Sender: TObject);
begin
If PageResized then
ResumeInstallPage
else
MinimizeInstallPage;
end;

procedure InitializeWizard();
begin
ResizeButton:= TButton.Create(WizardForm);
ResizeButton.SetBounds(ScaleX(20), ScaleY(327),ScaleX(75), ScaleY(23));
ResizeButton.OnClick:= @ResizeButtonOnClick;
ResizeButton.Caption:= 'Min.';
ResizeButton.Hide;
ResizeButton.Parent:= WizardForm;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
ResizeButton.Hide;
case CurPageID of
wpInstalling:
begin
Show:= true;
ResizeButton.Show;
end;
wpFinished:
begin
Show:= false;
ResumeInstallPage;
DeleteMenu(GetSystemMenu(WizardForm.Handle,False),$F060,0);
end;
end;
end;

procedure BtnDisable();
begin
ResizeButton.Enabled := False;
end;

Необходимо выполнить следующее:
1. При клике на кнопку "Min" фоновое изображение закрывается
2. При клике на кнопку "Max" фоновое изображение отображается

El Sanchez
29-05-2018, 17:15
Необходимо выполнить следующее:
1. При клике на кнопку "Min" фоновое изображение закрывается
2. При клике на кнопку "Max" фоновое изображение отображается »
ROMKA-1977, в секцию Setup добавить WindowVisible=yes и WindowShowCaption=no, в процедуре ResizeButtonOnClick в конце дописать MainForm.Visible := not PageResized;




© OSzone.net 2001-2012