Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Control for showing multiline content in inno set up installer

I want to show the content like in below image in installation step of installer...i have used memo for showing the content..but memo is not appropriate control..as then it looks like a textbox if user puts focus on the memo field... see below image.. when user comes to this step,the first memo field is selected...installation type

like image 433
Sunil Sharma Avatar asked Jul 30 '12 09:07

Sunil Sharma


1 Answers

Use either TLabel or TNewStaticText component (the TNewStaticText seems to be preferred inside of InnoSetup) and set it the following:

  • the WordWrap property to True
  • the AutoSize property to False

Then just stretch the components into your desired positions and the text will fit to that bounds, just like shown in this example:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Code]    
const
  LoremIpsum =
    'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin mauris ' +
    'lorem, ullamcorper sit amet tincidunt ac, varius at ante. Aenean pretium, ' +
    'tortor non congue pharetra, ante urna consectetur mi, vitae congue arcu est ' +
    'eleifend nisl.';

procedure InitializeWizard;
var
  CustomPage: TWizardPage;
  StandardDescLabel: TLabel;
  StandardRadioButton: TNewRadioButton;
  AdvancedDescLabel: TLabel;
  AdvancedRadioButton: TNewRadioButton;
begin
  CustomPage := CreateCustomPage(wpWelcome, 'Installation type', '');
  StandardRadioButton := TNewRadioButton.Create(WizardForm);
  StandardRadioButton.Parent := CustomPage.Surface;
  StandardRadioButton.Checked := True;
  StandardRadioButton.Top := 16;
  StandardRadioButton.Width := CustomPage.SurfaceWidth;
  StandardRadioButton.Font.Style := [fsBold];
  StandardRadioButton.Font.Size := 9;
  StandardRadioButton.Caption := 'Standard Installation'
  StandardDescLabel := TLabel.Create(WizardForm);
  StandardDescLabel.Parent := CustomPage.Surface;
  StandardDescLabel.Left := 8;
  StandardDescLabel.Top := StandardRadioButton.Top + StandardRadioButton.Height + 8;
  StandardDescLabel.Width := CustomPage.SurfaceWidth; 
  StandardDescLabel.Height := 40;
  StandardDescLabel.AutoSize := False;
  StandardDescLabel.Wordwrap := True;
  StandardDescLabel.Caption := LoremIpsum;
  AdvancedRadioButton := TNewRadioButton.Create(WizardForm);
  AdvancedRadioButton.Parent := CustomPage.Surface;
  AdvancedRadioButton.Top := StandardDescLabel.Top + StandardDescLabel.Height + 16;
  AdvancedRadioButton.Width := CustomPage.SurfaceWidth;
  AdvancedRadioButton.Font.Style := [fsBold];
  AdvancedRadioButton.Font.Size := 9;
  AdvancedRadioButton.Caption := 'Advanced Installation'
  AdvancedDescLabel := TLabel.Create(WizardForm);
  AdvancedDescLabel.Parent := CustomPage.Surface;
  AdvancedDescLabel.Left := 8;
  AdvancedDescLabel.Top := AdvancedRadioButton.Top + AdvancedRadioButton.Height + 8;
  AdvancedDescLabel.Width := CustomPage.SurfaceWidth;
  AdvancedDescLabel.Height := 40;
  AdvancedDescLabel.AutoSize := False;
  AdvancedDescLabel.Wordwrap := True;
  AdvancedDescLabel.Caption := LoremIpsum;
end;

And the result:

enter image description here

like image 134
TLama Avatar answered Nov 18 '22 12:11

TLama