PDA

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


Страниц : 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 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

Gnom_aka_Lexander
07-04-2011, 22:25
LordSP,
[Setup]
DiskSpanning=true
DiskSliceSize=1566000000
SlicesPerDisk=3 так будет не Setup-1.bin, а Setup-1а.bin, Setup-2а.bin, Setup-3а.bin. На другой диск будут файлы Setup-1b.bin, Setup-2b.bin, Setup-3b.bin -и так далее, по переименованию и смене расширения - уже флуд, я недавно отвечал.
Здесь всего 1265 сообщений, не нужно преувеличивать. Отлистай назад на пару страниц, я отвечал недавно.

LordSP
07-04-2011, 22:31
Лександер,
Так дай ссылку,где отвечал,какой флуд!Здесь 1000000 сообщений!!

Лександер,

и еще как мне в этом противном коде: [Setup]
AppName=My Program
AppVerName=My Program ver.1.5
DefaultDirName={pf}\My Program

[Code]
const
MB_ICONINFORMATION = $40;
MB_ICONEXCLAMATION = $30;
MB_ICONQUESTION = $20;
MB_ICONSTOP = $10;
MB_ICONNONE = $10;
MB_SYSTEMMODAL = $1000;

function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;
external 'MessageBoxA@user32.dll stdcall';

procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
var
hWnd: Integer;
begin
Cancel:=False;
Confirm:=False;
hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));
if MessageBox(hWnd, 'The setup is not finished! Do you really want to abort?', 'Exit from Installer', MB_YESNO or $30 + MB_SYSTEMMODAL) = idYes
then
Cancel:=true;
end;


Сделать чтобы и диалоговое окно было поверх окон,и значок в этом окне используемый user32.dll/100 не был виден,или заменить....

В этом скрипте все нормально,а вот в другом не хочет поверх окон делать,если прописать так:
if MessageBox(hWnd, 'The setup is not finished! Do you really want to abort?', 'Exit from Installer', MB_YESNO or $1000 + MB_SYSTEMMODAL + $40 MB_ICONFORMATION) = idYes .то окно становиться беззвучным,но знвчок пропадает,только не в этом скрипте,а в другом....вообщем есть ли возможность его сменить?

Этот скрипт хочу совместить с другим,где окно информации...слева в угу "О программе"....,вот только работает с отображением значка :-(

Может как то индекс иконки можно указать?

Gnom_aka_Lexander
07-04-2011, 22:45
MB_ICONINFORMATION = $40;
MB_ICONEXCLAMATION = $30;
MB_ICONQUESTION = $20;
MB_ICONSTOP = $10;
MB_ICONNONE = $10;
MB_SYSTEMMODAL = $1000; »
индексы иконок. а вот в другом не хочет поверх окон делать »
соединил криво. и убирай портянки под спойлер. А то придет добрый модер и уберет пост целиком :)

LordSP
07-04-2011, 23:01
Лександер,
индексы иконок. »

Это я знаю,а как сделать отобраджение иконки вместо белого окошечка,соединив так:
MB_YESNO or $40 + MB_ICONFORMATION //если оставить так,то появляется бклое окошечко на форме.

MB_YESNO or $1000 + MB_SYSTEMMODAL)// если так, то окошко скрывается за формой,и невозможно нажать.)

MB_YESNO or $1000 + MB_SYSTEMMODAL + $40 MB_ICONFORMATION)//ну,а если так,то пропадает звук при действии...

Помоги.

Да и вообще,что мучатся у тебя случаем нет,скрипта,отображающего окно инсталлятора и конечно же диалоговые окна и ошибки,поверх всех окон Windows?

Gnom_aka_Lexander
07-04-2011, 23:46
LordSP, все, что у меня есть - лежит здесь: готовые решения (http://innoultra.ru/?page_id=18), качай архив, который называется пачка скриптов, и ройся, также поройся на форуме, на твой вопрос наверняка есть ответ :)

slysoft
08-04-2011, 04:49
лежит здесь: готовые решения »
Спасибо ОГРОМНОЕ, очень пригодилось!!!

Vamp1re
08-04-2011, 12:56
Подскажите как через секцию RUN на финишной странице инсталлятора сделать запрос на запуск игры, ато я уже забыл :)

R.i.m.s.k.y.
08-04-2011, 13:05
Подскажите как через секцию RUN на финишной странице инсталлятора сделать запрос на запуск игры, ато я уже забыл »
Флаг postinstall
Filename: {app}\game.exe; Description: Игра; Flags: skipifsilent postinstall

Vamp1re
08-04-2011, 16:34
Подскажите как мне перемещать кнопки

slysoft
08-04-2011, 18:29
Всем доброго времени суток!!!
у меня возникла небольшая проблема, 1) можно ли как нибуть убрать чёрный фон, закрывающий картинку на финальной странице инсталятора, как показано на скринфоте. И ещё, 2) можно ли изменить фон окна?

Вот сам скрипт:

function mciSendString(lpstrCommand: string; lpstrReturnString: string; uReturnLength:integer; hwndCallback:integer):integer;
external 'mciSendStringA@winmm.dll stdcall';
procedure LogoOnClick(Sender: TObject);
var ResCode: Integer;
begin
ShellExec('', 'http://torrent.lurenet.lg.ua', '' , '', SW_SHOW, ewNoWait, ResCode)
end;
var
WelcomeLabel1, WelcomeLabel2, FinishedLabel, FinishedHeadingLabel: TLabel;
const
Color = clblack;
const
GWL_STYLE = (-16);
WS_CAPTION = $C00000;

function GetWindowLong(Wnd: HWnd; Index: Integer): Longint;
external 'GetWindowLongA@user32.dll stdcall';

function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint;
external 'SetWindowLongA@user32.dll stdcall';


procedure InitializeWizard();
var
BtnPanel: TPanel;
BtnImage: TBitmapImage;
begin
ExtractTemporaryFile('Button.bmp')

BtnPanel:=TPanel.Create(WizardForm)
with BtnPanel do begin
Left:=20
Top:=325
Width:=200
Height:=30
Cursor:=crHand
OnClick:=@logoOnClick
Parent:=WizardForm
end
BtnImage:=TBitmapImage.Create(WizardForm)
with BtnImage do begin
AutoSize:=True;
Enabled:=False;
Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Button.bmp')
Parent:=BtnPanel
end
begin
WizardForm.WizardBitmapImage.Width := ScaleX(497); //êîîðäèíàòû ïîïðàâèøü êàê òå íàäî)
WizardForm.WizardBitmapImage.Height := ScaleX(323);
////////çàâåðøåíèå
WizardForm.WizardBitmapImage2.Width := ScaleX(497);
WizardForm.WizardBitmapImage2.Height := ScaleX(323);
begin
ExtractTemporaryFile(ExpandConstant('ops.mp3'))
mciSendString(ExpandConstant('play {tmp}\ops.mp3 repeat'),'NULL',0,0)
begin
ExtractTemporaryFile('2.bmp');

WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp'));

WelcomeLabel1:= TLabel.Create(WizardForm);
WelcomeLabel1.AutoSize:= False;
with WizardForm.WelcomeLabel1 do
WelcomeLabel1.SetBounds(Left, Top, Width, Height);
WelcomeLabel1.Font:= WizardForm.WelcomeLabel1.Font
WelcomeLabel1.Font.Color:= clWhite;
WelcomeLabel1.Transparent:= True;
WelcomeLabel1.WordWrap:= true;
WelcomeLabel1.Caption:= WizardForm.WelcomeLabel1.Caption;
WelcomeLabel1.Parent:= WizardForm.WelcomePage

WelcomeLabel2:= TLabel.Create(WizardForm);
WelcomeLabel2.AutoSize:= False;
with WizardForm.WelcomeLabel2 do
WelcomeLabel2.SetBounds(Left, Top, Width, Height);
WelcomeLabel2.Font:= WizardForm.WelcomeLabel2.Font
WelcomeLabel2.Font.Color:= clWhite;
WelcomeLabel2.Transparent:= True;
WelcomeLabel2.WordWrap:= true;
WelcomeLabel2.Caption:= WizardForm.WelcomeLabel2.Caption;
WelcomeLabel2.Parent:= WizardForm.WelcomePage

FinishedHeadingLabel:= TLabel.Create(WizardForm);
FinishedHeadingLabel.AutoSize:= False;
with WizardForm.FinishedHeadingLabel do
FinishedHeadingLabel.SetBounds(Left, Top, Width, Height);
FinishedHeadingLabel.Font:= WizardForm.FinishedHeadingLabel.Font
FinishedHeadingLabel.Font.Color:= clWhite;
FinishedHeadingLabel.Transparent:= True;
FinishedHeadingLabel.WordWrap:= true;
FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption;
FinishedHeadingLabel.Parent:= WizardForm.FinishedPage

FinishedLabel:= TLabel.Create(WizardForm);
FinishedLabel.AutoSize:= False;
with WizardForm.FinishedLabel do
FinishedLabel.SetBounds(Left, Top, Width, Height);
FinishedLabel.Font:= WizardForm.FinishedLabel.Font
FinishedLabel.Font.Color:= clWhite;
FinishedLabel.Transparent:= True;
FinishedLabel.WordWrap:= true;
FinishedLabel.Caption:= WizardForm.FinishedLabel.Caption;
FinishedLabel.Parent:= WizardForm.FinishedPage

WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.FinishedHeadingLabel.Hide;
end;
begin
FinishedLabel.Caption:= WizardForm.FinishedLabel.Caption;
begin
WizardForm.Font.Color:=clLime;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=clblack;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.WelcomeLabel1.Font.Color:=clLime;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Font.Color:=clLime;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.PageNameLabel.Font.Color:=clLime;
WizardForm.Bevel.visible:=False;
WizardForm.BeveledLabel.visible:=False;
WizardForm.Bevel1.visible:=False;
begin
WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;
WizardForm.WizardSmallBitmapImage.Left := ScaleX(0);
WizardForm.WizardSmallBitmapImage.Top := ScaleY(0);
WizardForm.WizardSmallBitmapImage.Width := WizardForm.MainPanel.Width;
WizardForm.WizardSmallBitmapImage.Height := WizardForm.MainPanel.Height;
begin
SetWindowLong(WizardForm.Handle, GWL_STYLE,
GetWindowLong(WizardForm.Handle, GWL_STYLE) and not WS_CAPTION);
end;
end
end;
end;
end;
end;
end;

Зарание всем спасибо!!!

Gnom_aka_Lexander
08-04-2011, 18:41
slysoft, фон убрать нельзя, можно создать чекбокс с прозрачным лейбелом, который будет делать то-же, что и родной.

Edison007
08-04-2011, 19:36
Нужна помощь.
Как создать Мемо, в котором будет указан путь, и чтобы этот путь можно было перепечатывать?

Vamp1re
08-04-2011, 19:56
У меня проблема с кнопками. Кнопка "Назад" отображаеться в неполном размере, и при етом надписи почти невидно. (Пробовал изменять размеры,опять перемещять, но все тоже) (см.рис) http://s60.radikal.ru/i170/1104/5e/252639c29022.jpg
#define NeedSize "5000000000"

#define NeedMem 512

;#define Components

;#define SecondProgressBar

;#define records
#define precomp04
;#define precomp038
;#define unrar

#include "isdone.iss"

[Setup]
AppName=Dragon Age 2
AppVerName=Dragon Age 2
DefaultDirName={pf}\Dragon Age 2
DefaultGroupName=EA Games\Dragon Age 2
OutputBaseFilename=Setup
AppPublisher=BIOWARE
SetupIconFile=.\icon.ico
VersionInfoCopyright=1.0
SolidCompression=yes
WizardSmallImageFile=WizModernSmallImage.bmp
#ifdef NeedSize
ExtraDiskSpaceRequired={#NeedSize}
#endif

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

[CustomMessages]
Finished1=Программа Dragon Age 2 [RePack] by Duktator22 установлена на Ваш компютер. Нажмите <Завершить>, чтобы выйти из программы установки.
Start1=Вас приветствует Мастер установки Dragon Age 2 [RePack] by Duktator22
start2=Програма установит Dragon Age 2 [RePack] by Duktator22 на ваш компютер. Рекомендуеться закрыть все прочие приложения перед тем как продолжить. Нажмите <Далее>, чтобы продолжить, или <Отмена>, чтобы выйти из программы установки.

[Icons]
Name: "{group}\Запустить игру"; Filename: "{app}\bin_ship\DragonAge2.exe"
Name: "{group}\{cm:UninstallProgram,Dragon Age 2}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Dragon Age 2"; Filename: "{app}\bin_ship\DragonAge2.exe";
Name: "{commondesktop}\Dragon Age 2 настройки"; Filename: "{app}\DragonAge2Launcher.exe";
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Dragon Age 2"; Filename: "{app}\DragonAge2Launcher.exe";

[Tasks]
Name: VCCheck; Description: Установить Microsoft Visual C++
Name: PhysXCheck; Description: Установить Nvidia PhysX
Name: DirectXCheck; Description: Обновить Microsoft DirectX
Name: FXCheck; Description: Обновить Microsoft NET Framework

[Files]
Source: button.bmp; DestDir: {tmp}; Flags: dontcopy
Source: Logo.bmp; Flags: dontcopy
Source: PAPKA.bmp; Flags: dontcopy
Source: IMG1.bmp; Flags: dontcopy
Source: IMG2.bmp; Flags: dontcopy

[Run]
Filename: {src}\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: Устанавливаем Microsoft Visual C++ 2005 Redist...; Flags: skipifdoesntexist; Tasks: VCCheck; Check: CheckError
Filename: {src}\Redist\PhysX.exe; Parameters: /qn; StatusMsg: Устанавливаем Nvidia PhysX...; Flags: skipifdoesntexist; Tasks: PhysXCheck; Check: CheckError
Filename: {src}\Redist\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Устанавливаем Microsoft DirectX...; Flags: skipifdoesntexist; Tasks: DirectXCheck; Check: CheckError
Filename: {src}\Redist\dotNetFx35setup.exe; Parameters: /qn; StatusMsg: Устанавливаем Microsoft NET...; Flags: skipifdoesntexist; Tasks: PhysXCheck; Check: CheckError
Filename: {src}\setup-2.exe; WorkingDir: {src}; Parameters: "-o""{app}"" -y -aoa"; StatusMsg: Распаковка игровых архивов...; Flags: waituntilterminated;
Filename: {src}\setup-3.exe; WorkingDir: {src}; Parameters: "-o""{app}"" -y -aoa"; StatusMsg: Распаковка игровых архивов...; Flags: waituntilterminated;

[Code]
const
Color = clblack;
ButtonWidth = 80; //Указываем размер кнопок
ButtonHeight = 23;

bidBack = 0;
bidNext = 1;
bidCancel = 2;
bidDirBrowse = 3;
bidGroupBrowse = 4;

var
ButtonPanel: array [0..4] of TPanel;
ButtonImage: array [0..4] of TBitmapImage;
ButtonLabel: array [0..4] of TLabel;
PageNameLabel, PageDescriptionLabel: TLabel;
MainImage : TBitmapImage;
FinishedImage: TBitmapImage;
WelcomeLabel1, WelcomeLabel2,FinishedLabel, FinishedHeadingLabel: TLabel; //Надписи на на странице приветствия и на финишной странице


procedure ButtonLabelClick(Sender: TObject);
var
Button: TButton;
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
case TLabel(Sender).Tag of
bidBack: Button:=WizardForm.BackButton
bidNext: Button:=WizardForm.NextButton
bidCancel: Button:=WizardForm.CancelButton
bidDirBrowse: Button:=WizardForm.DirBrowseButton
bidGroupBrowse: Button:=WizardForm.GroupBrowseButton

else
Exit
end
Button.OnClick(Button)
end;

procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ButtonLabel[TLabel(Sender).Tag].Enabled then
ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth
end;

procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
end;

procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
var
Image: TBitmapImage;
Panel: TPanel;
Labl: TLabel;

begin
Panel:=TPanel.Create(WizardForm)
Panel.Left:=AButton.Left
Panel.Top:=AButton.Top
Panel.Width:=AButton.Width
Panel.Height:=AButton.Height
Panel.Tag:=AButtonIndex
Panel.Parent:=AButton.Parent
ButtonPanel[AButtonIndex]:=Panel

Image:=TBitmapImage.Create(WizardForm) //Рисунок который ложится на кнопку
Image.Width:=497 //Обязательно прописать оригинальный размер рисунка
Image.Height:=23
Image.Enabled:=False
Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button.bmp'))
Image.Parent:=Panel
ButtonImage[AButtonIndex]:=Image

with TLabel.Create(WizardForm) do begin
Tag:=AButtonIndex
Parent:=Panel
Width:=Panel.Width
Height:=Panel.Height
Transparent:=True
OnClick:=@ButtonLabelClick
OnDblClick:=@ButtonLabelClick
OnMouseDown:=@ButtonLabelMouseDown
OnMouseUp:=@ButtonLabelMouseUp
end

Labl:=TLabel.Create(WizardForm) //Текст кнопок
Labl.Left:=23 //Указываем положение текста
Labl.Top:=5
Labl.Autosize:=True
Labl.Alignment:=taCenter
Labl.Tag:=AButtonIndex
Labl.Transparent:=True
Labl.Font.Color:=clWhite //Цвет текста
Labl.Caption:=AButton.Caption
Labl.OnClick:=@ButtonLabelClick
Labl.OnDblClick:=@ButtonLabelClick
Labl.OnMouseDown:=@ButtonLabelMouseDown
Labl.OnMouseUp:=@ButtonLabelMouseUp
Labl.Parent:=Panel
ButtonLabel[AButtonIndex]:=Labl
end;

procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
begin
ButtonLabel[AButtonIndex].Caption:=AButton.Caption
ButtonPanel[AButtonIndex].Visible:=AButton.Visible
ButtonLabel[AButtonIndex].Enabled:=Abutton.Enabled
end;

procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
ButtonLabel[bidNext].Enabled:=True
end;

procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
ButtonLabel[bidNext].Enabled:=False
end;

procedure InitializeWizard();
var
BtnPanel: TPanel;
Logo: TBitmapImage;
begin
ExtractTemporaryFile('Logo.bmp')

BtnPanel:=TPanel.Create(WizardForm)
with BtnPanel do begin
Left:=0
Top:=415
Width:=497
Height:=35
Parent:=WizardForm
end
Logo:=TBitmapImage.Create(WizardForm)
with Logo do begin
AutoSize:=True;
Enabled:=False;
Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Logo.bmp')
Parent:=BtnPanel
end

WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(0), ScaleY(0), WizardForm.MainPanel.Width, WizardForm.MainPanel.Height);
PageNameLabel:= TLabel.Create(WizardForm)
with WizardForm.PageNameLabel do
PageNameLabel.SetBounds(Left, Top, Width, Height);
PageNameLabel.Transparent:= True;
PageNameLabel.Font:= WizardForm.PageNameLabel.Font;
PageNameLabel.Font.Color:= clWhite; //цвет надписи
PageNameLabel.Parent:= WizardForm.MainPanel;
PageDescriptionLabel:= TLabel.Create(WizardForm)
with WizardForm.PageDescriptionLabel do
PageDescriptionLabel.SetBounds(Left, Top, Width, Height);
PageDescriptionLabel.Transparent:= True;
PageDescriptionLabel.Font:= WizardForm.PageDescriptionLabel.Font;
PageDescriptionLabel.Font.Color:= clWhite; //цвет надписи
PageDescriptionLabel.Parent:= WizardForm.MainPanel;
WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;

// Папка
ExtractTemporaryFile('papka.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=True;
WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=True;
//Инсталл черный
WizardForm.Font.Color:=clWhite;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.WelcomeLabel1.Font.Color:=clWhite;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=clwhite;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Font.Color:=cllime;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.PageNameLabel.Font.Color:=clWhite;
WizardForm.ReadyMemo.ScrollBars:= ssNone
WizardForm.Bevel.visible:=False;
WizardForm.BeveledLabel.visible:=False;
WizardForm.Bevel1.visible:=False;

WizardForm.NextButton.Left:=450;
WizardForm.NextButton.Top:=400;
WizardForm.NextButton.Width:=80;
WizardForm.NextButton.Height:=30;

WizardForm.CancelButton.Left:=540;
WizardForm.CancelButton.Top:=400;
WizardForm.CancelButton.Width:=80;
WizardForm.CancelButton.Height:=30;

WizardForm.BackButton.Left:=360
WizardForm.BackButton.Top:=400
WizardForm.BackButton.Width:=80
WizardForm.BackButton.Height:=300

//WizardForm.NextButton.Width:=ButtonWidth
//WizardForm.NextButton.Width:=ButtonWidth
WizardForm.NextButton.Width:=ButtonWidth
WizardForm.NextButton.Height:=ButtonHeight

WizardForm.CancelButton.Width:=ButtonWidth
WizardForm.CancelButton.Height:=ButtonHeight

WizardForm.BackButton.Width:=ButtonHeight
WizardForm.BackButton.Height:=ButtonHeight

WizardForm.DirBrowseButton.Left:=337
WizardForm.DirBrowseButton.Width:=ButtonWidth
WizardForm.DirBrowseButton.Height:=ButtonHeight

WizardForm.GroupBrowseButton.Left:=337
WizardForm.GroupBrowseButton.Width:=ButtonWidth
WizardForm.GroupBrowseButton.Height:=ButtonHeight

WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick

WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick

ExtractTemporaryFile('button.bmp')
LoadButtonImage(WizardForm.NextButton,bidNext)
LoadButtonImage(WizardForm.CancelButton,bidCancel)
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
LoadButtonImage(WizardForm.BackButton,bidBack)

with WizardForm do //Размер установщика
begin
AutoScroll := False;
ClientHeight := ScaleY(453);
ClientWidth := ScaleX(639);
end;

begin
ExtractTemporaryFile('img1.bmp');
MainImage := TBitmapImage.Create(WizardForm);
with MainImage do
begin
Parent := WizardForm;
Left := 0;
Top := 0;
Width := 453;
Height := 639;
Width:= ScaleX(639);
Bitmap.LoadFromFile(ExpandConstant('{tmp}\img1.bmp'));
end;

ExtractTemporaryFile('img2.bmp');
FinishedImage := TBitmapImage.Create(WizardForm);
with FinishedImage do
begin
Parent := WizardForm;
Left := 0;
Top := 0;
Width := 453;
Height := 639;
Width:= ScaleX(639);
Bitmap.LoadFromFile(ExpandConstant('{tmp}\img2.bmp'));
end;

//WelcomePage, создаем надписи на странице
WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do
begin
Left:= ScaleX(175);
Top:= ScaleY(15);
Width:= ScaleX(312);
Height:= ScaleY(57);
AutoSize:= false;
Font.Style := [fsBold]
Transparent:= true;
WordWrap:= true;
Font.Size:= 13;
Font.Color:=ClWhite
Parent:= WizardForm;
Caption:=ExpandConstant('{cm:Start1}')
end;

WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do
begin
Top:= ScaleY(90);
Left:= ScaleX(175);
Width:= ScaleX(295);
Height:= ScaleY(312);
AutoSize:= false;
WordWrap:= true;
Font.Color:=ClWhite
Font.Size:= 8;
Transparent:= true;
Parent:= WizardForm;
Caption:= ExpandConstant('{cm:Start2}')
end;

FinishedHeadingLabel:=TLabel.Create(WizardForm);
with FinishedHeadingLabel do
begin
Top:= ScaleY(15);
Left:= ScaleX(175);
Width:= ScaleX(312);
Height:= ScaleY(57);
AutoSize:= false;
WordWrap:= true;
Font.Size:= 13;
Font.Style := [fsBold]
Font.Color:=ClWhite
Transparent:= true;
Parent:= WizardForm;
Caption:= WizardForm.FinishedHeadingLabel.Caption;
end;

FinishedLabel:= TLabel.Create(WizardForm);
with FinishedLabel do
begin
Left:= ScaleX(175);
Top:= ScaleY(90);
Width:= ScaleX(295);
Height:= ScaleY(312);
AutoSize:= false;
WordWrap:= true;
Transparent:= true;
Font.Color:=ClWhite
Font.Size:= 8;
Parent:= WizardForm;
Caption:= ExpandConstant('{cm:Finished1}')

end;
end;
end;

procedure HideComponents1;
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;

procedure ShowComponents1(CurPageID: Integer);
begin
case CurPageID of
wpWelcome:
begin
WelcomeLabel1.Show
WelcomeLabel2.Show
end;
wpFinished:
begin
FinishedHeadingLabel.Show;
FinishedLabel.Show;
end;
end;
end;

procedure CurPageChanged1(CurPageID: Integer);
begin
begin
HideComponents1;
ShowComponents1(CurPageID);
if CurPageID = wpWelcome then
begin
WizardForm.OuterNotebook.Hide;
FinishedImage.Hide;
end
else if CurPageID = wpFinished then
begin
WizardForm.OuterNotebook.Hide;
MainImage.Hide;
FinishedImage.Show;
end
else WizardForm.OuterNotebook.Show;
end;
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
CurPageChanged1(CurPageID);
CurPageChanged2(CurPageID);
UpdateButton(WizardForm.BackButton,bidBack)
UpdateButton(WizardForm.NextButton,bidNext)
UpdateButton(WizardForm.CancelButton,bidCancel)
ButtonLabel[bidBack].Left := (ButtonPanel[bidBack].Width / 30 - ButtonLabel[bidBack].Width / 30);
ButtonLabel[bidNext].Left := (ButtonPanel[bidNext].Width / 2 - ButtonLabel[bidNext].Width / 2);
ButtonLabel[bidCancel].Left := (ButtonPanel[bidCancel].Width / 2 - ButtonLabel[bidCancel].Width / 2);
ButtonLabel[bidDirBrowse].Left := (ButtonPanel[bidDirBrowse].Width / 2 - ButtonLabel[bidDirBrowse].Width / 2);
ButtonLabel[bidGroupBrowse].Left := (ButtonPanel[bidGroupBrowse].Width / 2 - ButtonLabel[bidGroupBrowse].Width / 2);

end;

insombia
08-04-2011, 22:56
Как сделать чтобы установка шла типа так http://pic.4m.net.ua/images/77301382401926032825.jpg

R3Pa4eK
09-04-2011, 10:35
insombia, а что тебе именно надо?

insombia
09-04-2011, 11:26
R3Pa4eK мне нужно чтобы когда игра устанавливалась то установка шла процентами хотябы

R3Pa4eK
09-04-2011, 12:09
insombia, isdone тебе в помощь.

Vamp1re
09-04-2011, 14:09
Дайте мне пожалуйста скрипт через который можно перемещать и изменять текст на страницах

insombia
09-04-2011, 15:53
Как сделать 3D инсталлятор типа как в crysis 2 repack от recoding

R3Pa4eK
09-04-2011, 17:05
insombia, никак.




© OSzone.net 2001-2012