• ベストアンサー

テキストエリア装飾

Windows用のソフトウェアでテキストエリアのようなもの を表示させたいのですが、フリーのテキストエディタには ソースコードのifやdefineなどの文字背景色を変更している ものがあるようです。 これらは、テキストエリアの場所の実体はエディット コントロールではないですよね? リッチエディットでも部分的な背景色の変更は無理ですよね? テキストエディタではどのような方法で部分的な背景色を 変更するのが一般的なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.4

sakura を使ってますが(最高)、これのソースも独自描画ですね。 DrawText とか使って文字を書いてます。 標準部品は、ちょっとしたものを製造するには便利ですが、 何かに特化した/凝ったものを作るには、出来合いの機能が邪魔なこともあります。 多大な手間をかけてカスタマイズするより、自作した方が何でもできる/早い/綺麗などです。 色分けできるようなテキストエディタは、大抵標準のコントロールを使ってません。 自作してるか、エディタ用に公開された専用コンポーネント等を採用しています。 ただの Edit を使うと Notepad もどき、 RichEdit を使うと Wordpad もどきになりがちです。 # メインがエディタなら習作の延長かもしれません。 # 別の「売り」がある場合には、付加価値の重み付けの問題でしょう。 一般論で言えば、 テキストエリアが注力すべきポイント(売り)なら独自処理の労力をかけることも検討、 ソフトの売りが他にあり、そこが単なる部品にすぎないなら、 とりあえず標準のコントロールで済ませることを検討、 くらいだと思います。「背景の着色はMUSTな要求ですか」

その他の回答 (3)

回答No.3

MSDNのWin32APIカテゴリに それっぽいAPIがゴロゴロしています。 参考URLはその1部です。 恐らく探せば ソースコードが公開されている エディタって世の中にあると思いますので それが一番参考になるかと。 確か国産だとサクラエディタがソース公開していたと思います。

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpgdi/html/Toppage_SpaceTransformatio
回答No.2

こんにちは。 単純なエディットコントロールは機能は簡易ですし リッチエディットは文字や背景色を変更できても 動作がすごく重いです。 エディタのようなものを作ろうとしているのでしょうか。 フリーのエディタでソースコードが公開されているものが参考になると思いますが GDI系のAPIを使って自前で描画しているのではないかと想像します。

A__
質問者

補足

その関数名は想像できていますか?

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.1

テキストエディタというものは、いろんな独自の機能があるわけで、全てのキー入力や描画などは用意されているコントロールなどを使うのではなく直接APIを使うことになると思います。

A__
質問者

お礼

ありがとうございました。