|
Delphi2010 リンクラベル(LinkLabel) 2010/09/10 |
前回は[Additional]内の「StaticText」(スタティックテキスト)について見ましたので、今回は同じく[Additional]内の「LinkLabel」(リンクラベル)について見てみます。リンクラベルは Delphi6 にありません。Delphi2009で追加された機能のようです。
テスト6の前回のスタティックテキストおよびエディットを削除し、パネル、スプリッターの Alignプロパティを「alTop」に変更しておきます。その状態で、パネル Panel1 の上にリンクラベルを配置してみます。1つ目ですので Nameプロパティは「LinkLabel1」となり、文字内容を示す Caption プロパティの内容も同じく「LinkLabel1」となります。
リンクラベルは、インターネット等のハイパーリンクのような表記(青い色に下線付きの文字)をして、クリックしたらそこへリンクするような感じの文字を表示させるコンポーネントのようです。
Captionプロパティには、リンクを示すHTMLタグを付ける事ができる、とあります。それがない場合は、通常のラベル同様、指定した文字がそのまま表示されます。リンクを示すHTMLタグ、とのことなので、Captionプロパティを「<a href="http://afsoft.jp/">http://afsoft.jp/</a>」としてみます。すると下記のような画面となります。
<オブジェクトインスペクタ>で UseVisualStyle プロパティを True にすると下記のような画面になり、文字のフォントが変化しました。
Captionプロパティを「<a href='http://afsoft.jp/'>http://afsoft.jp/</a>」というように、二重引用符(ダブルクォーテーション)の変わりに単一引用符(シングルクォーテーション)を使う、という事は出来ない様子です。
さて、HTMLハイパーリンクのように見えるようになりましたから、インターネットに自動的に接続されたりするのかな?などと一瞬、淡い期待をもちましたが、これはただのラベルであって、ラベル同様、文字を表示するだけの様子ですね。
但し、クリックした時に何かをする、という事で、通常なら OnClickイベントハンドラを使いそうなところですが、このコンポーネントでは、OnLinkClickイベントハンドラを実装する、という事だそうです。例えばこのイベントハンドラで 関連付けを利用したアプリケーション起動を行ったり、[Internet]内の「WebBrowser」を利用してインターネットにアクセスさせようとしたり、或いは全く別に、普通の切り替えスイッチ等のように使えるかもしれません。
例:[Internet]内の「WebBrowser」を配置し、
Alignプロパティを「alClient」にする
LinkLabel1のOnLinkClickイベントハンドラを実装
|
procedure TForm1.LinkLabel1LinkClick(Sender: TObject; const Link: string; LinkType: TSysLinkType);
begin
WebBrowser1.Navigate(Link);
end; |
|
保存・コンパイル(再構築)・実行します。
リンクラベルをクリックすると、インターネットに接続しに行きます。このPCは現在インターネットに接続できない状態なのでホームページアクセスは出来ていませんけれども。
というわけで、リンクラベルのOnLinkClickイベントハンドラの第2引数 Link には、URL文字列が入ってますので、それをそのまま URLへと受け渡しています。上記の Caption プロパティで「<a href="http://afsoft.jp/">http://afsoft.jp/</a>」としているところの「http://afsoft.jp/」というURL部分が、この引数 Link に入っています。
そういうわけで、使いようによっては、しおりやお気に入り(ブックマーク)みたいな事が出来るのかもしれませんが、普通のラベルでも設定をすれば出来そうに思いますので、いまいちこのコンポーネントのメリットというのがよく分かりませんけれども。
その他、<オブジェクトインスペクタ>をざっと見てみましたが、別段、気になるような項目は無いようです。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/09/09
2010/09/10
▼2010/09/11
シェアウェア
Script!World
データベース
|