Control for showing multiline content in inno set up installer

前端 未结 1 377
执念已碎
执念已碎 2021-02-07 23:37

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 look

1条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-08 00:43

    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

    0 讨论(0)
提交回复
热议问题