DOBON.NET DOBON.NETプログラミング掲示板過去ログ

テキストエディタの特殊文字

環境/言語:[XP]
分類:[.NET]

勉強のため自分にあったテキストエディタを開発しています。TextBoxに改行文字や[EOF]が表示されているエディタを見かけますがどのような手法で開発されているのでしょうか。行番号の表示についても試行錯誤しておりますが解決策が見つかっておりません。ヒントでも結構ですので宜しくお願い致します。
■No4062に返信(ことぶきさんの記事)
> 勉強のため自分にあったテキストエディタを開発しています。
> TextBoxに改行文字や[EOF]が表示されているエディタを見かけますが
> どのような手法で開発されているのでしょうか。

そういうソフトではエディタ部分にTextBoxやRichTextBoxは使っていないと思います。
自分のプログラムでテキストデータを管理し、自前で描画しています。

> 行番号の表示についても試行錯誤しておりますが解決策が見つかっておりません。
> ヒントでも結構ですので宜しくお願い致します。

こちらだけであれば、エディタ部分はTextBoxでもいけます。
TextBox上のカーソルのある位置が
- テキストデータとして何行目にあたるか?
- 画面に見えている分だけで何行目か?
を調べ、行番号表示部分を自前で描画することで対応できます。

カーソル位置が何行目かを知るには、
APIのSendMessage関数とEM/ENではじまるWindowsメッセージを利用します。
詳しいことはGoogleでいろんなキーワードを試して調べてみてください。
■No4074に返信(よねKENさんの記事)
> ■No4062に返信(ことぶきさんの記事)
>>勉強のため自分にあったテキストエディタを開発しています。
>>TextBoxに改行文字や[EOF]が表示されているエディタを見かけますが
>>どのような手法で開発されているのでしょうか。
>
> そういうソフトではエディタ部分にTextBoxやRichTextBoxは使っていないと思います。
> 自分のプログラムでテキストデータを管理し、自前で描画しています。
>
>>行番号の表示についても試行錯誤しておりますが解決策が見つかっておりません。
>>ヒントでも結構ですので宜しくお願い致します。
>
> こちらだけであれば、エディタ部分はTextBoxでもいけます。
> TextBox上のカーソルのある位置が
> - テキストデータとして何行目にあたるか?
> - 画面に見えている分だけで何行目か?
> を調べ、行番号表示部分を自前で描画することで対応できます。
>
> カーソル位置が何行目かを知るには、
> APIのSendMessage関数とEM/ENではじまるWindowsメッセージを利用します。
> 詳しいことはGoogleでいろんなキーワードを試して調べてみてください。
>
試行錯誤の日々が続いていましたがこれでスッキリしました。
開発の方向性がはっきりしたことでもう一度頑張ってみます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板