Inno Setup - Прозрачность под текстом в имени страницы и метки описания

Я хочу сделать прозрачность под текстом здесь:

введите описание изображения здесь

Как видите, у меня черный фон, чего я не хочу.

Привет.

1 ответ

Решение

PageNameLabel а также PageDescriptionLabel являются TNewStaticText компоненты. Этот компонент не поддерживает прозрачность. Хоть TLabel Компонент, имеющий аналогичные функциональные возможности, поддерживает прозрачность ( в версии Inno Setup для Unicode и только с тематическими версиями Windows).

Таким образом, вы можете заменить эти два компонента TLabel эквивалент. И затем вам нужно убедиться, что подписи ваших новых пользовательских компонентов обновляются всякий раз, когда Inno Setup обновляет исходные компоненты. Для этих двух компонентов это довольно просто, поскольку они обновляются только при изменении страницы. Таким образом, вы можете обновить свои пользовательские компоненты из CurPageChanged функция события.

function CloneStaticTextToLabel(StaticText: TNewStaticText): TLabel;
begin
  Result := TLabel.Create(WizardForm);
  Result.Parent := StaticText.Parent;
  Result.Left := StaticText.Left;
  Result.Top := StaticText.Top;
  Result.Width := StaticText.Width;
  Result.Height := StaticText.Height;
  Result.AutoSize := StaticText.AutoSize;
  Result.ShowAccelChar := StaticText.ShowAccelChar;
  Result.WordWrap := StaticText.WordWrap;
  Result.Font := StaticText.Font;
  StaticText.Visible := False;
end;

var
  PageDescriptionLabel: TLabel;
  PageNameLabel: TLabel;

procedure InitializeWizard();
begin
  { ... }

  { Create TLabel equivalent of standard TNewStaticText components }
  PageNameLabel := CloneStaticTextToLabel(WizardForm.PageNameLabel);
  PageDescriptionLabel := CloneStaticTextToLabel(WizardForm.PageDescriptionLabel);
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  { Update the custom TLabel components from the standard hidden components }
  PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
end;


Намного проще изменить оригинальный цвет фона меток:
Inno Setup - изменение размера имени страницы и меток описания

Другие вопросы по тегам