ReDrawText

Модуль ReDrawText 1.5f

Нет прав для скачивания

Shegorat

Lord of Madness
Администратор
Пользователь Shegorat разместил новый ресурс:

ReDrawText - Модуль для создания форматированного текста

Модуль для создания форматированного текста.

Основной принцип работы - создание болванки-TLabel с основными параметрами (текст, расположение и т.д). И затем его перерисовку.

Для простоты использования сделано форматирование текста на основе bb-кодов. Поддерживаются следующие теги:
Код:
[b]текст[/b] - Жирный текст
[i]текст[/i] - Наклонный текст (Курсив)
[u]текст[/u] - Подчеркнутый текст
[s]текст[/s] - Зачеркнутый текст
[min=width]текст[/min] - Минимизирует текст до указанной ширины. Обычно...

Узнать больше об этом ресурсе...
 
Кстати, ты прав.
А я не ожидал так много кода для такой "маленькой" вещицы... :(

Но хорошо, что ты пришел к правильному выводу, и не то чтоб он попался бы к другим рукам, а то, что, если сайта считаешь своим ресурсом - надо к таким вещам не ограничивать пользователей, а наоборот. ;)
 
Последнее редактирование:
Но хорошо, что ты пришел к правильному выводу
Когда ты напишешь хотя-бы на 10% настолько-же значимое, только тогда ты будешь иметь право говорить эти слова, не ранее. В данный момент была необходимость опубликовать от своего имени то, что было украдено. Во избежание того, чтобы какая-нибудь нехорошая редиска не присвоила себе авторство.
 
Последнее редактирование модератором:
Привет, не подскажите как сделать цветной текст на разных страницах, например, на странице приветствия и финишной? Получается только на одной.
 
Привет, не подскажите как сделать цветной текст на разных страницах, например, на странице приветствия и финишной? Получается только на одной.
В примере сделан цветной текст для страницы выбора папки установки. Для других страниц аналогично - создаем лейбл-болванку на нужной странице, а потом вызываем ReDrawText для этого лейбла.
 
В скриптах не силен, пробовал и так и сяк, то ошибки выдает, то только на одной странице отображается.
 
YURSHAT спасибо, страницу приветствия сделал как хотел, а вот с последней возникли трудности,
одновременно не удается текст менять в FinishedLabel и в FinishedHeadingLabel, хотя не суть важно, сделал весь текст через FinishedHeadingLabel, меня интересует как текст разукрасить возле чекбокса на последней странице, если не трудно то можно пример?
 
одновременно не удается текст менять в FinishedLabel и в FinishedHeadingLabel
потому что finishedheadinglabel - tnewstatictext. можно сделать по примеру YURSHAT'а:
Код:
#include "ReDrawText v.1.5e.iss"

[Setup]
AppName=MyApp
AppVername=MyApp
DefaultDirName={pf}\MyApp

[code]
var
  WelcomeLabel1, FinishedLabel, FinishedHeadingLabel : Tlabel;
  WelcomeLabel1Rdw, FinishedLabelRdw, FinishedHeadingLabelRdw: TRedrawedLabel;

procedure RedesignWizardForm;
begin
  WizardForm.WelcomeLabel1.Hide;
  WizardForm.FinishedLabel.Hide;
  WizardForm.FinishedHeadingLabel.Hide;

  WelcomeLabel1 := TLabel.Create(WizardForm);
  with WelcomeLabel1 do begin
    AutoSize:=False;
    SetBounds(ScaleX(176), ScaleY(16), ScaleX(301), ScaleY(55));
    Caption := '[name=Verdana][size=12]Вас приветствует [b]Мастер установки[/b] игры [i][color=$FF0000]"Крутая Игра"[/color][/i][/size][/name]';
    Parent:=WizardForm.WelcomePage;
  end;
  WelcomeLabel1Rdw:= ReDrawText(WelcomeLabel1);

  FinishedLabel := TLabel.Create(WizardForm);
  with FinishedLabel do begin
    AutoSize:=False;
    SetBounds(ScaleX(176), ScaleY(71), ScaleX(301), ScaleY(66));
    Caption := '[name=Georgia][size=12]Вроде установилась [b]эта хрень[/b] на мой [i][color=$FF0000]мега-калькулятор[/color][/i].[/size][/name]';
    Parent:=WizardForm.FinishedPage;
  end;
  FinishedLabelRdw:= ReDrawText(FinishedLabel);

  FinishedHeadingLabel := TLabel.Create(WizardForm);
  with FinishedHeadingLabel do begin
    AutoSize:=False;
    SetBounds(WizardForm.FinishedHeadingLabel.Left, WizardForm.FinishedHeadingLabel.Top, ScaleX(301), ScaleY(66));
    Caption := '[name=Georgia][size=12]Завершение [b]мастера[/b] установки [i][color=$FF0000]игры[/color][/i].[/size][/name]';
    Parent:=WizardForm.FinishedPage;
  end;
  FinishedHeadingLabelRdw:= ReDrawText(FinishedHeadingLabel);
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
меня интересует как текст разукрасить возле чекбокса на последней странице, если не трудно то можно пример?
например так:
Код:
#include "ReDrawText v.1.5e.iss"

[Setup]
AppName=MyApp
AppVername=MyApp
DefaultDirName={pf}\MyApp

[code]
var
  WelcomeLabel1, FinishedLabel, FinishedHeadingLabel, CaptionForCheckBox : Tlabel;
  WelcomeLabel1Rdw, FinishedLabelRdw, FinishedHeadingLabelRdw, CaptionForCheckBoxRdw : TRedrawedLabel;
  CheckBox : TNewCheckBox;

procedure CheckBoxOnClick(Sender : TObject);
begin
  if CheckBox.Checked then
    HideRWLabel(CaptionForCheckBoxRdw)
  else
    ShowRWLabel(CaptionForCheckBoxRdw);
end;

procedure RedesignWizardForm;
begin
  WizardForm.WelcomeLabel1.Hide;
  WizardForm.FinishedLabel.Hide;
  WizardForm.FinishedHeadingLabel.Hide;

  WelcomeLabel1 := TLabel.Create(WizardForm);
  with WelcomeLabel1 do begin
    AutoSize:=False;
    SetBounds(ScaleX(176), ScaleY(16), ScaleX(301), ScaleY(55));
    Caption := '[name=Verdana][size=12]Вас приветствует [b]Мастер установки[/b] игры [i][color=$FF0000]"Крутая Игра"[/color][/i][/size][/name]';
    Parent:=WizardForm.WelcomePage;
  end;
  WelcomeLabel1Rdw:= ReDrawText(WelcomeLabel1);

  FinishedLabel := TLabel.Create(WizardForm);
  with FinishedLabel do begin
    AutoSize:=False;
    SetBounds(ScaleX(176), ScaleY(71), ScaleX(301), ScaleY(66));
    Caption := '[name=Georgia][size=12]Вроде установилась [b]эта хрень[/b] на мой [i][color=$FF0000]мега-калькулятор[/color][/i].[/size][/name]';
    Parent:=WizardForm.FinishedPage;
  end;
  FinishedLabelRdw:= ReDrawText(FinishedLabel);

  FinishedHeadingLabel := TLabel.Create(WizardForm);
  with FinishedHeadingLabel do begin
    AutoSize:=False;
    SetBounds(WizardForm.FinishedHeadingLabel.Left, WizardForm.FinishedHeadingLabel.Top, ScaleX(301), ScaleY(66));
    Caption := '[name=Georgia][size=12]Завершение [b]мастера[/b] установки [i][color=$FF0000]игры[/color][/i].[/size][/name]';
    Parent:=WizardForm.FinishedPage;
  end;
  FinishedHeadingLabelRdw:= ReDrawText(FinishedHeadingLabel);

  CheckBox := TNewCheckBox.Create(WizardForm);
  with CheckBox do begin
    SetBounds(ScaleX(175), ScaleY(150), ScaleX(301), ScaleY(66));
    Caption := '';
    OnClick := @CheckBoxOnClick;
    Parent:=WizardForm.FinishedPage;
  end;

  CaptionForCheckBox := TLabel.Create(WizardForm);
  with CaptionForCheckBox do begin
    AutoSize:=False;
    SetBounds(ScaleX(195), ScaleY(173), ScaleX(301), ScaleY(66));
    Caption := '[name=Georgia][size=12]Пример [i][color=$FF0000]чекбокса[/color][/i].[/size][/name]';
    Parent:=WizardForm.FinishedPage;
  end;
  CaptionForCheckBoxRdw:= ReDrawText(CaptionForCheckBox);
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
 
Mailchik код по finishedheadinglabel так и делал, выдает ошибку.

По чекбоксу попробую)))

Тоже выдает ту же самую ошибку, что и с finishedheadinglabel: 'BEGIN' expected
 
Последнее редактирование:
Gnom, а где именно смотреть? Выше скрипты выкладывал Mailchik, делал как там, все равно появляется эта ошибка.
 
MogilShik, я даже не знаю, что вам ответить. то есть, вы утверждаете, что скопировав коды, которые я выше привел, у вас появляются ошибки?
перед тем, как написать, я проверил эти коды. и у меня, к сожалению нет никаких ошибок..
 
Mailchik так точно, я просто всю эту кучу-малу объединял, в общем вот скрипт:
 

Вложения

Последнее редактирование:
Спасибо, пашет с одним но, там по умолчанию чекбокс который скрывается отмечен галочкой мол запустить игру, этот новый его заменяет, но в скрытом то галочка так и стоит, как тут быть?
А заголовок рядом с чекбоксом вообще не срабатывает, пустота и все(((
 
Последнее редактирование:
Чет вот не пойму, а как чекбокс заставить .ехе увидеть который нужно запустить? И текст рядом с чекбоксом так и не отображается.
 

Вложения

Последнее редактирование:
И текст рядом с чекбоксом так и не отображается.
Текст не отображается, потому как у вас сам чекбокс перекрывает лейбл с текстом :)
ЗЫ. А вообще я так понимаю нужен чекбокс, надпись у которого цветная и при нажатии запуск игры?
ЗЫЫ. По такой цветной надписи нельзя кликнуть. То есть если вы применяете к лейблу раскраску, события клика на нем не отработают....

Опишите подробно, что хотите сделать, а я вам дам пример...
 
Последнее редактирование:
Нужен станадртный чекбокс, у которого ставится или снимается галочка, для запуска игры или программы при нажатии кнопки завершить инсталляцию, ну а рядом текст своим цветом, запустить игру такую то, названии игры своим цветом, если чекбокс отмечен игра запускается, в общем все стандартно, только текст разноцветный.
 
Назад
Сверху