私は、非常に基本的なフォーマット機能を備えているはずの小さなテキストエディタを作成中です。派手なものはありませんが、RichTextBoxが提供できるもの(「ページ」表示機能を含む)よりも複雑です。
ただし、前回テキストエディタを作成したのは、C forWindows3.1のWinAPIを使用したときでした。.NETでこれにアプローチする方法がわかりません。空白がTextRenderer.DrawText()を使用して、私が持っているテキストを長方形に出力するまでに得た詳細...しかし、私はそれをずっと考えていたので、この場合は行く方法ではないことを教えてくれますたとえば、XML形式の背景テキストが必要です...段落をタグで分割することはできますが、または別のフォントファミリなどの書式設定を行う方法がわからないため、おそらく次のようにする必要があります。少し違ったアプローチをしました。おそらく各単語は別々に。(xmlタグに関して)各単語を配列に保持し、配列内の位置も保持する個別のコントロールとして描画する必要がありますか?それは、私たちが
だから...私が探しているのは、いくつかのヒントです(Tx Text Editor、DevExpress、TelerikのRichTextEditorsは、正当な理由と価格のために使用できません)。C#.NETで十分に拡張可能な「ワードプロセッサ」を構築するための最も正しい方法については、これまで私が鼻を突く必要がなかったことが1つあります。
基本的に:
1)カスタムコントロールにテキストを描画するための最良の方法。テキストをどのように保持する必要がありますか?ファイルをロードするときの事前フォーマット段階では、おそらくベースのTextプロパティを使用します。それとも、カスタムXMLクラスで拡張しますか?バックスペースを使用する場合、単語を順番に並べて手作業で結合する必要がありますか?等
2)選択を行うための最良の方法(おそらく私が推測する唯一の方法ですか?)、WinAPIでは、フォントの量とウィンドウが文字を描画する方法を考慮して、カーソルの下の文字を標準のテキストとして検出できました。 OCRに移動してから、位置の計算を開始します...テキストを選択するより良い方法があると思いますか?
3)テキストの編集-カーソル位置が決まれば簡単だと思います。
読んでくれてありがとう、そして...うまくいけば、誰かが私の弱いDrawTextよりも良い解決策を思い付くでしょう...それは実際には解決策ではありません。