私は、最小限のテキストエディタを作成しようとしています。これは、点滅するキャレット、黒い背景、テキストを移動するための矢印キー、バックスペースの削除などしかないということです。 。私はRenderWindowを作成しました。テキスト用のグローバル文字列バッファがあり、Visual2Dクラスを使用して画面上に可視化しています(VC2010およびSFML .NETパッケージを使用してC#で開発中です)。SFMLフルスクリーンテキストエディタ
基本的には、キー入力をキャッチし、文字、数字またはその他の書かれた記号が描画に役立つかどうかをチェックし、RenderWindowの描画を使用して画面上に永続的に視覚化される文字列バッファからそれらを加算または減算します。
ここで問題は、矢印で制御された正しいキャレット移動を実装する方法です。誰かがダウン/アップ/左/右矢印を使用してテキストの画面全体を移動したい場合。 1行のテキストの左/右の動きは簡単ですが、どのキャラクタを後でキャレットにするべきかを知るためのカウンタを実装することがあります。それにもかかわらず、最終的に私はスクリーンが終了したラインを打ち破らなければならないでしょう。それでは、もし誰かがラインを上げたり上げたりしたいと思ったら、キャレットをどこでレンダリングするか、後でテキストの一部を追加または削除することができます。あるいは私のアプローチは完全に間違っていますか?お知らせ下さい。
ありがとう、私は今それをテストしています:) – Tobiasz