2017-02-15 3 views
1

J'utilise le code de How to add clickable links to custom Inno Setup WelcomeLabel?:Inno Setup - Comment changer la couleur de l'hyperlien dans le texte 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; 

Et je veux changer la couleur du lien bleu:

enter image description here

Comment puis-je utiliser une syntaxe pour changer de changement de couleur de lien hypertexte dans RTF du answer by Oliver Bock to What is the RTF syntax for a hyperlink? avec le code ci-dessus?

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

Et la question est? Vous ne savez pas comment fusionner ces codes ensemble ou quoi? –

+0

En outre, la couleur par défaut d'un lien est bleu, alors pourquoi voulez-vous le changer en bleu ?? –

+0

Alors, à quoi ça ressemble? Il a l'air bleu pour moi. Montrez-nous une capture d'écran. –

Répondre

1

En effet, sur Windows 7, la couleur du lien n'est pas bleue par défaut (c'est sur Windows 10).

La syntaxe RTF correcte pour forcer une certaine couleur de lien est comme:

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

Martin, j'essaie de localiser ce code mais est très compliqué pour moi (j'essaie d'utiliser la réponse de http://stackoverflow.com/questions/41153301/inno-setup-how-to-display-localized-rtf -text-in-custom-page Mais ce n'est pas le même cas). Comment puis-je faire ceci? Merci. –

+1

Que voulez-vous localiser? Vous pouvez soit localiser les pièces individuelles (1. "Lorem ipsum dolor sit amet", 2. "CLICK_HERE", 3. "consectetur adipiscing elit.") Et ensuite les assembler dans le code. Ou vous pouvez mettre toute la chaîne RTF aux messages. –

+0

''{\ fldrslt {\ cf1' + CustomMessage ('Jeu') + '\ cf0}}}}'' + Et bien sûr, vous ne pouvez pas utiliser le même message personnalisé pour toutes les pièces, cela n'a aucun sens. –