2017-02-15 10 views
1

Я использую код из How to add clickable links to custom Inno Setup WelcomeLabel?:Inno Setup - Как изменить цвет гиперссылки в тексте RTF?

procedure InitializeWizard; 
var 
    RichViewer: TRichEditViewer; 
begin 
    RichViewer := TRichEditViewer.Create(WizardForm); 
    RichViewer.Left := WizardForm.WelcomeLabel2.Left; 
    RichViewer.Top := WizardForm.WelcomeLabel2.Top; 
    RichViewer.Width := WizardForm.WelcomeLabel2.Width; 
    RichViewer.Height := WizardForm.WelcomeLabel2.Height; 
    RichViewer.Parent := WizardForm.WelcomeLabel2.Parent; 
    RichViewer.BorderStyle := bsNone; 
    RichViewer.TabStop := False; 
    RichViewer.ReadOnly := True; 
    WizardForm.WelcomeLabel2.Visible := False; 

    RichViewer.RTFText := 
    '{\rtf1 Lorem ipsum dolor sit amet ' + 
    '{\b {\field{\*\fldinst{HYPERLINK "https://www.example.com/" }}' + 
    '{\fldrslt{CLICK_HERE}}}} ' + 
    'consectetur adipiscing elit.}'; 
end; 

И я хочу, чтобы изменить цвет гиперссылки в синий цвет:

enter image description here

Как использовать синтаксис для изменения меняющегося цвета гиперссылка в RTF от answer by Oliver Bock to What is the RTF syntax for a hyperlink? с вышеуказанным кодом?

{\colortbl ;\red0\green0\blue238;} 
{\field{\*\fldinst HYPERLINK "URL"}{\fldrslt{\ul\cf1Text to display}}} 
+0

И вопрос? Вы не знаете, как объединить эти коды вместе или что? –

+0

Кроме того, цвет по умолчанию - синий, так почему вы хотите изменить его на синий? –

+0

Итак, как это выглядит? Он выглядит синим для меня. Покажите нам скриншот. –

ответ

1

Действительно, в Windows 7 цвет ссылки не синий по умолчанию (он находится на Windows 10).

Правильный синтаксис RTF, чтобы заставить определенную ссылку цвет, как:

RichViewer.RTFText := 
    '{\rtf1 ' + 
    '{\colortbl ;\red238\green0\blue0;}' + 
    'Lorem ipsum dolor sit amet ' + 
    '{\b {\field{\*\fldinst{HYPERLINK "https://www.example.com/" }}' + 
    '{\fldrslt{\cf1 CLICK_HERE\cf0 }}}} ' + 
    'consectetur adipiscing elit.}'; 

Red link on Windows 7 Red link on Windows 10

+0

Мартин, я пытаюсь локализовать этот код, но очень сложный для меня (я пытаюсь использовать ответ http://stackoverflow.com/questions/41153301/inno-setup-how-to-display-localized-rtf -text-in-custom-page Но это не тот же случай). Как я могу это сделать? Благодарю. –

+1

Что вы хотите локализовать? Вы можете либо локализовать отдельные части (1. «Lorem ipsum dolor sit amet», 2. «CLICK_HERE», 3. «consectetur adipiscing elit.»), А затем собрать их в коде. Или вы можете поместить всю строку RTF в сообщения. –

+0

'' {\ fldrslt {\ cf1 '+ CustomMessage (' Game ') +' \ cf0}}}} ''+ И, конечно же, вы не можете использовать одно и то же сообщение для всех частей, это не имеет смысла. –

Смежные вопросы