CEditViewに改行マーク表示

[戻る]
kuro 2005/03/15(火) 18:46:02
Windows XP 
VC++ 6.0

CEditViewで改行の部分に「↓」のようなマークを
表示したいのですが、実現方法が分かりません。
どなたかご教授お願いいたします。

Ban 2005/03/15(火) 19:20:36
CEditView にはそういう機能がありません。
サブクラス化するなりして、自前で描画してあげてください。

# ちなみに、そういう表示のできるエディタの多くは、
# Edit コントロールを使わずに自力で全部描画しているものばかり...。
# ->書き下ろしてしまった方が、楽だったり、綺麗だったり。

kuro 2005/03/15(火) 19:25:09
Banさん
回答ありがとうございます。

質問ですが、自前で描画するにはどのようにして
描画したらよいのでしょうか?

Ban 2005/03/15(火) 20:03:13
> 質問ですが、自前で描画するにはどのようにして
> 描画したらよいのでしょうか?

とりあえず、直接的には DrawText とか、TextOut とかでしょうか。
お好みのものを用途に応じて選んでください。


CEditView でやろうなどとは思わないので試してませんが、

実際に描画している EDIT のウィンドウハンドルを捕まえてサブクラス化し、
WM_PAINT で上書きしてあげればやはりいけるはいけるらしいです。
http://search.acty-net.ne.jp/mfc_search/archive/2003-1/msg01109.html
# この方も、実際にはもう少し泥臭いこともしてそうな予感。

もしくは、Edit自体は弄らずに、その前面に背景を透明にしたウィンドウを重ねてしまうとかも
ありでしょうか。

どんな方法で実現してもいいと思いますが、EDIT を使おうが使わずに全て自前で表示しようが、
表示内容がが変わるたびにそれにあわせて座標計算したり、いろいろ泥臭いことが必要なのは同じですし、
矢印の描画が自前でできるなら、他の文字の描画も自前でやってしまった方が綺麗ですっきりした
ものになるように思います。

まずは、ウィンドウに矢印を表示してみるところから始められてみてはどうでしょう。
# 矢印がかければ、他の文字も書けるわけで。

kuro 2005/03/15(火) 20:16:47
Banさん
回答ありがとうございます。

ウィンドウに矢印を表示するところから始めてみようと
思います。ありがとうございました。

古いスレッドには追加発言できません。