お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"ハイパーリンク文字列のハイライト表示"

この発言に対し以下のコメントが寄せられています
#00688 H-Triton さん RE:ハイパーリンク文字列のハイライト表示

ハイパーリンク文字列(Niftyや Web SiteのURL)を RichEditのキャレット位置 から検索開始して、見つけたらハイライト表示(文字色を変えてアンダーライン をつける)します。 function HiliteURL(Kind: Integer): Integer;   引数 Kind : 0で Nifty-URL、1で WWW-URLを指定する。   関数は、URLを見つけたらその位置(インデックス)を返し、URL文字列の後   にキャレットをセットします。   URL文字列が見つからなければ関数は -1を返します。 以下のサンプルコードでは便宜上、関数をメインフォーム(TForm1)の Private メンバーとしています。 //------------------------- // 関数 function TForm1.HiliteURL(Kind: Integer): Integer; var m: Integer; Col: TColor; begin Result:= -1; with RichEdit1 do begin if Kind = 0 then begin Result:= FindText('nifty:', SelStart, Length(Text), [stMatchCase]); if Result = -1 then Exit else SelStart:= Result; m:= SelStart + 1; while Text[m] in ['A'..'Z', 'a'..'z', '0'..'9', '/', ':'] do Inc(m); Col:= clBlue; end else if Kind = 1 then begin Result:= FindText('http://www.', SelStart, Length(Text), [stMatchCase]); if Result = -1 then Exit else SelStart:= Result; m:= SelStart + 1; while Text[m] in ['A'..'Z', 'a'..'z', '0'..'9', '/', '.', ':', '-', '_' , '~', '%'] do Inc(m); Col:= clGreen; end else Exit; SelLength:= m - SelStart; SelAttributes.Style:= [fsUnderline]; SelAttributes.Color:= Col; SelStart:= m; end; end; // 呼び出し例 procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i:= 0 to 1 do begin RichEdit1.SelStart:= 0; repeat until HiliteURL(i) = -1; end; end;  ★ AvalonU使うならログブラウザ「えるつぅ」公開中 ★     AvalonないとNIFTYできない(^^) H-Triton Since 1996 Original document by H-Triton 氏 ID:(QZV11422)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum