Старожил
Сообщения: 440
Благодарности: 251
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Shkutu , для этого в Inno есть секция
[CustomMessages] .
Если я правильно понял
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Name: eng; MessagesFile: compiler:Default.isl
[CustomMessages]
rus.interface=Интерфейс
rus.choice=Выберите компоненты, которые вы хотите установить.
eng.interface=Interface
eng.choice=Select components which you want to set.
[_Code]
var
Page: TWizardPage;
procedure InitializeWizard;
begin
Page:=CreateCustomPage(wpWelcome, ExpandConstant('{cm:interface}'), ExpandConstant('{cm:choice}'));
end;
Наткнулся на скрипт, который писал неизвестно когда и неизвестно кому
. Может пригодится кому.
MyCoustomExit
Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
OutputDir=.
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Name: eng; MessagesFile: compiler:Default.isl
[CustomMessages]
rus.ExitSetupTitle1=Вы уверены, что хотите выйти из программы установки?
eng.ExitSetupTitle1=Quit the setup program?
[_code]
const
ID_QUESTION = 65579;
var
MyCoustomExit: TPanel;
YesButton,NoButton: TButton;
IsExit: boolean;
PageNameLabel2,PageDescriptionLabel2: TNewStaticText;
MyExitLabel: TLabel;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:= false;
end;
procedure MyCoustomCancelClick(Sender: TObject; var CanClose: Boolean);
begin
CanClose:= IsExit;
MyCoustomExit.Show;
NoButton.Show;
YesButton.Show;
WizardForm.Bevel.Parent:= MyCoustomExit;
WizardForm.Bevel1.Parent:= MyCoustomExit;
end;
procedure NoButtonClick(Sender: TObject);
begin
IsExit:= false;
MyCoustomExit.Hide;
NoButton.Hide;
YesButton.Hide;
WizardForm.Bevel.Parent:= WizardForm;
WizardForm.Bevel1.Parent:= WizardForm.InnerPage;
end;
procedure YesButtonClick(Sender: TObject);
begin
IsExit:= True;
WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
end;
procedure InitializeWizard();
begin
MyCoustomExit:= TPanel.Create(WizardForm);
with MyCoustomExit do begin
Parent:= WizardForm;
SetBounds(ScaleX(0),ScaleY(0),WizardForm.Width,WizardForm.Height);
with TNewIconImage.Create(WizardForm) do begin
Parent:= MyCoustomExit;
Left:= ScaleX(230);
Top:= ScaleY(85);
Icon.Handle := ID_QUESTION;
end;
PageNameLabel2:= TNewStaticText.Create(MyCoustomExit);
with PageNameLabel2 do begin
Parent:= MyCoustomExit;
SetBounds(WizardForm.PageNameLabel.Left,WizardForm.PageNameLabel.Top,WizardForm.PageNameLabel.Width,WizardForm.PageNameLabel.Height);
Font.Style:= [fsBold];
Caption:= SetupMessage(msgExitSetupTitle);
end;
PageDescriptionLabel2:= TNewStaticText.Create(MyCoustomExit);
with PageDescriptionLabel2 do begin
Parent:= MyCoustomExit;
SetBounds(WizardForm.PageDescriptionLabel.Left,WizardForm.PageDescriptionLabel.Top,WizardForm.PageDescriptionLabel.Width,WizardForm.PageDescriptionLabel.Height);
Caption:= CustomMessage('ExitSetupTitle1');
end;
MyExitLabel:= TLabel.Create(MyCoustomExit);
with MyExitLabel do begin
Parent:= MyCoustomExit;
SetBounds(ScaleX(0),ScaleY(150),WizardForm.Width,ScaleY(80));
AutoSize:= False;
WordWrap:= True;
Alignment:= taCenter;
Caption:= SetupMessage(msgExitSetupMessage);
end;
NoButton:= TButton.Create(MyCoustomExit);
with NoButton do begin
Parent:= WizardForm;
SetBounds(WizardForm.CancelButton.Left,WizardForm.CancelButton.Top,WizardForm.CancelButton.Width,WizardForm.CancelButton.Height);
Caption:= SetupMessage(msgButtonNo);
OnClick:= @NoButtonClick;
end;
YesButton:= TButton.Create(MyCoustomExit);
with YesButton do begin
Parent:= WizardForm;
SetBounds(WizardForm.NextButton.Left,WizardForm.NextButton.Top,WizardForm.NextButton.Width,WizardForm.NextButton.Height);
Caption:= SetupMessage(msgButtonYes);
OnClick:= @YesButtonClick;
end;
end;
end;
Procedure CurPageChanged(CurPageID: Integer);
begin
MyCoustomExit.Hide;
NoButton.Hide;
YesButton.Hide;
WizardForm.OnCloseQuery:=@MyCoustomCancelClick;
end;
Единственное "но" - при стандартной распаковке при нажатии на "Отмена" не останавливается распаковка.
-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение" .
Последний раз редактировалось nik1967, 15-08-2013 в 11:04 .
Это сообщение посчитали полезным следующие участники:
Отправлено : 20:08, 14-08-2013
| #1021