Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для nik1967

Старожил


Сообщения: 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