Jump to content
Korean Random

Создание инсталляторов для модпаков на базе Inno Setup


Recommended Posts

А вот как в секции [CustomMessages] строку выделить жирным шрифтом?

Никак.

В объекте, в котором применяется этот текст, можно воспользоваться свойством:

Font.Style := [fsBold];

в секции кода  с помощью 

const
Mod1 =
  'Пожалуйста, прочтите следующее Лицензионное Соглашение.' + #13#10 +#13#10 +' Вы должны принять условия этого соглашения перед тем, как продолжить.';

Ну и где здесь "жирный шрифт"?

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites


Ну и где здесь "жирный шрифт"?

я показал как перевести на новую строку 

-zav- для какого кода вам это нужно?

Никак.

 

можно,смотря в каком коде

Edited by ♫♫♫Dark_Knight_MiX♫♫♫
Link to comment
Short link
Share on other sites

я показал как перевести на новую строку

Ну и зачем вводить лишнюю константу в коде?

В секции [CustomMessages], символ "#13" - переход на новую строку, тоже применяется.

 

 

можно,смотря в каком коде
Вопрос был в том, как это сделать в секции [CustomMessages]. Так что нельзя.
Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

В объекте, в котором применяется этот текст, можно воспользоваться свойством:

Font.Style := [fsBold];

 

Применяется вот так:

[CustomMessages]
RU.XVMDesc1= XVM(Оленемер).

[Code]  
AddCompDescription(1, CustomMessage('XVMDesc1'), 'XVM.bmp');

куда вписать   Font.Style := [fsBold];  ?

 

 

 

В секции [CustomMessages], символ "#13" - переход на новую строку, тоже применяется.

Нет, там применяется символ   %n

Edited by -zav-
Link to comment
Short link
Share on other sites

Применяется вот так:

[CustomMessages]
RU.XVMDesc1= XVM(Оленемер).

[Code]  
AddCompDescription(1, CustomMessage('XVMDesc1'), 'XVM.bmp');

куда вписать   Font.Style := [fsBold];  ?

 

в сам код где рисуется описание 

в строку кода CompDescText[2]

к примеру вот так 

[Code]
const
  EkspointDescText =
  'Во избежание бла бла бла.';
   EkspointDescText1 =
  'Пожалуйста, прочтите следующее Лицензионное Соглашение.' + #13#10 +#13#10 +' Вы должны принять условия этого соглашения перед тем, как продолжить.';
type
  TComponentDesc = record
    Description: String;
    ImageName: String;
    Index: Integer;
  end;
var
  CompDescs: array of TComponentDesc;
  CompDescPanel, CompDescImgPanel: TPanel;
  CompDescText: array[1..2] of TLabel;
  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;
    CompDescText[2].Caption := CompDescs[CompIndex].Description;
    CompDescText[2].Enabled := True;
  end else
  begin
    CompDescText[2].Caption := EkspointDescText;
    CompDescText[2].Enabled := False;
    CompDescImg.Hide;
  end;
  LastIndex := Index;
end;
procedure CompListMouseLeave(Sender: TObject);
begin
  CompDescImg.Hide;
  CompDescText[2].Caption := EkspointDescText;
  CompDescText[2].Enabled := False;
  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 InitializeWizard();
begin
  WizardForm.SelectComponentsLabel.Hide;
  WizardForm.TypesCombo.Hide;
  WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205));
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
  WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;
  CompDescImgPanel := TPanel.Create(WizardForm);
  with CompDescImgPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120));
    BevelInner := bvLowered;
  end;
  CompDescText[1] := TLabel.Create(WizardForm);
  with CompDescText[1] do
  begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    AutoSize := False;
    WordWrap := True;
    Enabled := False;
    Caption := EkspointDescText;
  end;
  CompDescImg := TBitmapImage.Create(WizardForm);
  with CompDescImg do
  begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    Stretch := True;
    Hide;
  end;
  CompDescPanel := TPanel.Create(WizardForm);
  with CompDescPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(192), ScaleY(125), ScaleX(225), ScaleY(80));
    BevelInner := bvLowered;
  end;
  CompDescText[2] := TLabel.Create(WizardForm);
  with CompDescText[2] do
  begin
    Parent := CompDescPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescPanel.Width - ScaleX(10), CompDescPanel.Height - ScaleY(10));
    AutoSize := False;
    Font.Color := clBlue;
    Font.Style := [fsBold];
    WordWrap := True;
    Enabled := False;
    Caption := EkspointDescText;
  end;
//---------- Незабываем дописывать CompDesc зависимости от количество их в CustomMessages.iss ----------\\
  AddCompDescription(1, EkspointDescText1, 'CompDescImg1.bmp');
  AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp');
   AddCompDescription(3, CustomMessage('CompDesc3'), 'CompDescImg3.bmp');
  AddCompDescription(4, CustomMessage('CompDesc4'), 'CompDescImg4.bmp');
 
end;

Edited by ♫♫♫Dark_Knight_MiX♫♫♫
Link to comment
Short link
Share on other sites

в сам код где рисуется описание в строку кода CompDescText[2]

тогда все будут жирным

а мне нужно только одну конкретную строку.

ладно фиг с ней, нет так нет

 

.... блин, ступил и не то написал

вот сюда всё это дело идет

[CustomMessages]
RU.XVM1=   XVM (Оленемер).

[Code]
AddCheckBox(CustomMessage('XVM1'), '', 0, True, True, True, True, nil); 
Edited by -zav-
Link to comment
Short link
Share on other sites

... блин, ступил и не то написал

вот сюда всё это дело идет

AddCheckBox(CustomMessage('XVM1'), '', 0, True, True, True, True, nil); 

Так жирным нужно сделать текст чекбокса или описание к нему?

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

Нужна помощь со скриптом IDP, нужно запилить:

1) Чтобы архивы качались не так как сейчас, в корневую папку с игрой, а в отдельную папку.

2) Можно было отменить нажатием на кнопку загрузку и установку модов, и соответственно архивы из той папки удалялись и папка рес модс очищалась, при этом в ней оставалась пустая папка с номером патча.attachicon.gifidp.rar

del

Edited by ♫♫♫Dark_Knight_MiX♫♫♫
Link to comment
Short link
Share on other sites

Как вместо кнопок "далее","назад" и тд сделать картинки но что бы функция осталась как у кнопок?

Скрываешь кнопки, рисуешь на их месте изображения. А к изображению дописываешь свойство OnClick, ссылающуюся на процедуру, которая будет имитировать нажатие родной кнопки "Далее":

Procedure OrigNextButtonClick(Sender: TObject);
begin
 WizardForm.NextButton.OnClick(nil);
end;

Procedure InitializeWizard();
begin
 ....
 ....
 MyImage.OnClick := @OrigNextButtonClick;
end;
Link to comment
Short link
Share on other sites

 

Скрываешь кнопки, рисуешь на их месте изображения. А к изображению дописываешь свойство OnClick, ссылающуюся на процедуру, которая будет имитировать нажатие родной кнопки "Далее":

Procedure OrigNextButtonClick(Sender: TObject);
begin
 WizardForm.NextButton.OnClick(nil);
end;

Procedure InitializeWizard();
begin
 ....
 ....
 MyImage.OnClick := @OrigNextButtonClick;
end;

а Parent писать надо?

Link to comment
Short link
Share on other sites

Ну конечно. Никто же не будет угадывать, где объект должен находиться.

что то не меняется 

var
MyImage: TBitmapImage;
Procedure OrigNextButtonClick(Sender: TObject);
begin
WizardForm.NextButton.OnClick(nil);
end;
Procedure InitializeWizard();
begin
MyImage := TBitmapImage.Create(WizardForm); // MyImage.
    MyImage.Parent := WizardForm;
    ExtractTemporaryFile('WizardForm.MyImage.bmp');
    MyImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.MyImage.bmp'));
MyImage.OnClick := @OrigNextButtonClick;
end;
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...