2016-05-11 17 views

答えて

3

これは簡単ではありません。

クリッカブル全体でラベルを作成するには、次のようなコードを使用することができます:

procedure OpenBrowser(Url: string); 
var 
    ErrorCode: Integer; 
begin 
    ShellExec('open', Url, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode); 
end; 

procedure LinkClick(Sender: TObject); 
begin 
    OpenBrowser('https://www.example.com/'); 
end; 

procedure InitializeWizard; 
var 
    Link: TLabel; 
begin 
    Link := TLabel.Create(WizardForm); 
    Link.Left := ???; 
    Link.Top := ???; 
    Link.Parent := WizardForm.WelcomePage; 
    Link.Caption := 'CLICK_HERE'; 
    Link.OnClick := @LinkClick; 
    Link.ParentFont := True; 
    Link.Font.Style := Link.Font.Style + [fsUnderline, fsBold]; 
    Link.Font.Color := clBlue; 
    Link.Cursor := crHand; 
end; 

Show License Agreement link in Inno Setup while installationを参照してください。


テキストの一部のみがクリック可能なラベルを作成するのは難しい方法ですが、テキストが1行に収まる場合は、3つのラベルを隣り合わせに積み重ねることで行えます(先頭の静的テキスト、リンク、その後に続く静的テキスト)。しかし、テキストが1行に収まらない場合は、ラベルが重なり合うので、行えません。


また、あなたがリンクしてRTFドキュメントを作成し、読み取り専用TRichEditViewerを使用してそれを提示することができます

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

リンクの色を変更するには、Inno Setup - How to change the color of the hyperlink in RTF text?

を見ます
+0

ありがとう、マーティン!できます! TRichEditViewerでラインを壊す方法はありますか? –

+0

改行については忘れてしまいます。私はそれを自分で見つけました!その '\ line'!ご協力ありがとうございました! –

関連する問題