MemoやRichEditで色分けするには?

解決


Delphiの初心者  2004-09-22 18:29:44  No: 11034  IP: 192.*.*.*

HTMLエディターを作りたいのですが、ソースを色分けする方法がわかりません。
どなたか教えていただけませんか?

編集 削除
bob  2004-09-22 18:43:37  No: 11035  IP: 192.*.*.*

Delphiで手っ取り早く作成するなら本田 勝彦さんの
http://www.vector.co.jp/soft/win95/prog/se114384.html
使うの楽ですよ。

それはシェアウェア(旧版はフリー)だから質問内容に戻るとして、
TMemoでやる場合は、Ownerドロー
TRichEditでやる場合は、
  RichEdit1.SelStart := 1;
  RichEdit1.SelLength := 4;
  RichEdit1.SelAttributes.Color := clRed;
1〜4文字目の文字色を赤にする。

どちらにしろ
http://swiss.torry.net/html.htmのHTMLParser等使うといい気がする。

編集 削除
jok  2004-09-22 20:21:32  No: 11036  IP: 192.*.*.*

>TMemoでやる場合は、Ownerドロー

これどうやるんですか? 
はじめて聞きました。

編集 削除
にしの  2004-09-23 00:50:17  No: 11037  IP: 192.*.*.*

TRichEditの色変更のサンプルは、
http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=17#0216.txt
にあります。

TMemoをサブクラス化して、自前で描画するくらいなら、TCustomControlから継承した方がいいですよ。
それをすると、TEditorを作るのと同じになってしまいますが。

シェアウェアが取っつきにくいのであれば、
http://synedit.sourceforge.net/
フリーのカラー構文対応コンポーネントを使用すればよろしいかと思います。
# 以前のバージョンでは日本語関連が変でしたが、今どうなっているのかは未確認です

編集 削除
SO  2004-09-23 09:37:45  No: 11038  IP: 192.*.*.*

にしのさんも進めていますが、Syneditというコンポがいいですよ。

http://synedit.sourceforge.net/index.php

それとともに、サードパーティのUnihighlighterがいいです。
ハイライト設定をアプリケーションに組み込まなくてもいいですから。

編集 削除
SO  2004-09-23 09:39:00  No: 11039  IP: 192.*.*.*

間違い(^^;A

進めて->薦めて

編集 削除
Delphiの初心者  2004-09-23 22:27:01  No: 11040  IP: 192.*.*.*

すいません、ところで、コンポのインストール方法はわかるのですが、アンインストールはどうするのでしょうか?
教えてください。

編集 削除
Mr.XRAY  URL  2004-09-23 23:17:00  No: 11041  IP: 192.*.*.*

http://homepage2.nifty.com/Mr_XRAY/Delphi/CompUnInstall.htm

が参考になれば幸いです.

編集 削除
Mr.XRAY  URL  2004-09-23 23:35:17  No: 11042  IP: 192.*.*.*

すみません.
Syneditだと,たしかパッケージでのインストールだと思いましたが,
すると,パッケージのアンインストールですね.

[コンポーネント][パッケージのインストール]で該当する
パッケージを削除すればOKのはずです.

編集 削除
Delphiの初心者  2004-09-24 19:08:05  No: 11043  IP: 192.*.*.*

Sybeditを使ってみようと思ったのですが、どのファイルをインストールすればよいのでしょうか。

編集 削除
SO  2004-09-27 11:07:24  No: 11044  IP: 192.*.*.*

バージョンは何ですか。

編集 削除
Delphiの初心者  2004-09-27 22:15:17  No: 11045  IP: 192.*.*.*

2.00です。

編集 削除
SO  2004-09-28 12:20:47  No: 11046  IP: 192.*.*.*

Delphiのバージョンを知りたかったのですが、説明不足でしたね。
とりあえず、バージョンはパーソナルと仮定して、
PEっていうのがついている、パッケージをインストールすれば良いと思います。

編集 削除
Delphiの初心者  2004-09-28 19:42:45  No: 11047  IP: 192.*.*.*

Delphi6を使っているのですが、インストールしようとすると「SynEdit.dcuヶ見つかりません」と出るのですが、どうするのですか?

編集 削除
Delphiの初心者  2004-09-28 19:45:54  No: 11048  IP: 192.*.*.*

すいません、SynEdit.pasを見つけたので、パッケージに追加してコンパイルするとうまくいきました。
コンポーネントがどっさり登録されました。

編集 削除
Delphiの初心者  2004-09-28 19:48:22  No: 11049  IP: 192.*.*.*

何度もすいません。

テキストエディタのコンポーネントだと思っていたのですが、これは非ビジュアルコンポーネントですね。どうやって使うのでしょうか。

編集 削除
SO  2004-09-30 09:52:44  No: 11050  IP: 192.*.*.*

パーソナルではないのですね。

最初から書きます。
解凍したもの「ほにゃらら\SynEdit\Packages」の中にSynEdit_D6パッケージがあると思います。
これをインストールしてください。
ライブラリパスは事前に通してください。

非ビジュアルコンポーネント->これは何のことをさしているのでしょうか。
Unihighlighterですか。

編集 削除
SO  2004-09-30 11:40:01  No: 11051  IP: 192.*.*.*

書き忘れ(^^;A

SynEditとSynEdit Highlightersというパレットが登録されると思います。
SynEditはSynEditパレットの左側にあります。

SynEditのCharsetがDEFAULT_CHARSETになっていますが、
なぜか日本語が通らないのでSHIFTJIS_CHARSETにするといいと思います。

UniHighlighterのインストールパッケージはDelphi5,7しかないので、
SynUni_D5を使用します。
SynUni_D5を開いて、
requires
  dsnide50,
  SynEdit_D5;

requires
  designide,
  SynEdit_D6;
に書き直せばインストールできると思います。

編集 削除
Delphiの初心者  2004-09-30 20:46:03  No: 11052  IP: 192.*.*.*

SynEditが使い心地がよさそうなので、これを使わせていただくことにしました。
ありがとうございました。

編集 削除