私の助言:簡単なTLabelを使用してください。 TLabelにはTransparentという名前のプロパティがあります。これは必要なものです。 TLabelsカーソルをcrHandPoint(AFAIRはリンクカーソル)に設定し、フォントを青い下線に設定し、Webブラウザを開いて指定されたURLにナビゲートするOnClickイベントハンドラを作成します。 デフォルトイベントハンドラを1つでも持つことができます。
procedure OnClickOnMyLinkTLabels(Sender : TObject);
var
Address : string;
begin
if NOT (Sender is TLabel) then Exit;
Address := (Sender as TLabel).Caption;
ShellExecute(self.WindowHandle,'open',PChar(Address),nil,nil, SW_SHOWNORMAL);
end;
編集:
あなたのキャプション内のアドレスを持ってしたくない場合は、あなたが好きにアドレスとキャプションを取得するために、Tagプロパティを使用することができます。
procedure OnClickOnMyLinkTLabels(Sender : TObject);
var
Address : string;
begin
if NOT (Sender is TLabel) then Exit;
Address := GetAddresByTag((Sender as TLabel).Tag);
ShellExecute(self.WindowHandle,'open',PChar(Address),nil,nil, SW_SHOWNORMAL);
end;
どのようにGetAddresByTagを実装するかはあなたの選択です。最も簡単なものは、文字列の配列を使用している:人々は答えとして、サードパーティのコンポーネントを提供する際
//in your form defintion
private
FAddresses : array of string;
function GetAddresByTag(id : integer): string;
begin
if (i<Low(FAddresses)) OR (I> High(FAddresses)) then
raise EXception.Create('wrong id sent!');
Result:= FAddresses[id];
end;
テキストを静的にするのか、それともコンパイル時に変更するのでしょうか? – skamradt
イメージのURLが壊れています。 –
@アンドレアス私に教えてくれてありがとう...ありがとう、私はイメージを見つけることができたら、私はそれをもっと永久的にアップロードするだろう。 – Nat