フルスクリーンのミニマルなテキストエディタを作成しようとしています(ミニマルとは、点滅するカレット、黒い背景、テキスト内を移動するための矢印によるキーボードコントロール、バックスペースの削除などのみを意味します)。RenderWindowを作成し、テキスト用のグローバル文字列バッファーを使用し、String2Dクラスを使用して画面上で視覚化します(VC2010およびSFML .NETパッケージを使用してC#で開発しています)。
基本的に私がしていることは、キーストロークをキャッチし、それらが文字、数字、または書き込みに役立つその他の書かれた記号から来ているかどうかを確認し、RenderWindowの描画を使用して画面上に永続的に視覚化される文字列バッファにそれらを追加または削除することです。
ここで問題となるのは、矢印で制御される正しいカレットの動きをどのように実装できるかということです。誰かが下/上/左/右矢印を使用してテキストの画面全体を移動したい場合。1行のテキストでの左/右の移動は簡単です。カウンターを実装して、どの文字の後で気を付け直す必要があるかを知ることができます。それにもかかわらず、最終的には画面が終了する場所で線を切る必要があります。次に、誰かが下または上に行いたい場合にキャレットをレンダリングする場所を正しく「発見」し、誰かが文字列のどの位置にあるかを知る方法を教えてください。後でテキストの一部を追加または削除できます。それとも私のアプローチは完全に間違っていますか?お知らせ下さい。