問題タブ [richedit-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
343 参照

c# - Richedit コントロールの htmltext テーブルの書式設定

C# でリッチエディット コントロールを使用しています。このコントロールにテーブル(html)を表示したいです。私はそれをしましたが、セルテキストのフォントサイズと色を変更したいのですが、うまくいきませんでした:/

これが私のコードです:

0 投票する
4 に答える
780 参照

c++ - EM_EXGETSEL は、テキストの選択順序とは関係ありません。選択したテキストのキャレット位置を特定するにはどうすればよいですか?

私がする時:

選択した範囲のテキストを取得します。ただし、キャレットがこの選択のどこにあるか、つまり最後か最初かを知りたいです。

つまり、右から左にドラッグするなどのように、ユーザーがテキストを「後方」に選択しました。

EM_EXGETSELは常に の小さい方の数にcpMinなるため、明らかに選択順序とは関係ありません。

EM_EXGETSELかなりの量が既に選択されているため、この状況では比較のためにキャレットの位置を取得できません。

キャレットの現在の個々の位置を取得する方法はありますか (それを cpMin/cpMax と比較できるようにするため)? または、選択したテキストのブロック内でキャレットがどこにあるかを判断する方法はありますか?

編集:

これを行う理由についての私の説明: ユーザーがテキストを選択できる読み取り専用の RichEdit コントロールにプログラムでテキストを挿入します。ただし、テキストが最後に追加されると、キャレットを最後に移動してテキストを挿入する必要があります。これは、テキストが選択されている/ユーザーが現在テキストを選択しているときに発生する可能性があります。

面倒なのはこの最後のものです。テキストがプログラムによって入力される前後に、選択したテキストを取得および設定するために andEM_EXGETSELを使用します。EM_EXSETSELデフォルトでは、EM_EXGETSELは常に小さい方の数値を に配置します。cpMinつまり、ユーザーが現在テキストを後方 (右から左) に選択しており、テキストがコントロールに追加されている場合、選択領域のキャレットの位置が最初から最後に、これらの数値を に直接フィードするためEM_EXSETSELです。が逆方向に選択できることはわかっています ( の大きな数字と の小さなEM_EXSETSEL数字でこれをテストしました) が、ユーザーがテキストを逆方向に選択したことを示すものは何もありません。cpMincpMaxEM_EXGETSEL

したがって、キャレットの位置を比較したり、選択の最初または最後にあるかどうcpMincpMaxを確認したり、それに応じて行動する必要があります。

0 投票する
1 に答える
237 参照

c++ - CDialog::Create () メソッドが Vista Windows 7 32 ビット PC で失敗する

ダイアログが Richedit コントロールを持っているため、Win7 32 ビット PC で CDialog::Create() が失敗します。

ダイアログからそのコントロールを削除すると、作成されましたが、Richedit コントロールが必要です。

Richedit コントロールを使用すると CDialog::Create() が失敗するのはなぜですか? また、「AfxInitRichEdit2()」と呼びました

0 投票する
1 に答える
1340 参照

c++ - リッチ エディット テキスト コントロールでの改行文字の検出

テキスト編集コントロールに入力されたテキストを個々の単語に分割して配列に入れようとしています....改行文字も配列に入れる必要があります。問題は、途中で改行文字を検出するのに問題があることです...

これを行う正しい方法は何ですか?

私は次のことを試しました:

}

しかし、これはうまくいきません....

0 投票する
1 に答える
1452 参照

c++ - リッチ エディット コントロールのテキスト全体を CString として取得するさまざまなメソッド

リッチ エディット コントロール内のテキスト全体を CString として取得したいのですが、これを達成するには 6 つの方法があるようです。

  1. GetTextRangeを使用して範囲を取得しますGetTextLength
  2. EM_GETTEXTEX
  3. GetWindowText
  4. GetDlgItemText
  5. WM_GETETXT
  6. EM_STREAMOUT

私の質問は次のとおりです。

  1. GetTextRangeGetWindowText、などのメソッドを使用する場合と、、 、 EGetDlgItemTextなどのメッセージを使用する場合の違いは何ですか。EM_GETTEXTEXWM_GETETXTM_STREAMOUT
  2. いつあるタイプを使用し、いつ別のタイプを使用しますか?
  3. リッチ エディット コントロール内EM_GETTEXTEXのテキスト全体WM_GETETXTEM_STREAMOUTCString
  4. 最後に、誰かが の使用方法の例を提供しEM_GETTEXTEXたり、オンラインの方向を教えてくれたりすることは可能でしょうか?
0 投票する
3 に答える
1845 参照

c++ - リッチエディット テキスト ボックスを自動スクロールする方法 win32 c/c++

リッチエディット テキスト ボックスにメッセージを追加するコードは次のとおりです。

リッチエディット テキストボックスの createwindow は次のとおりです。

ただし、テキスト ボックス内のメッセージがすべて収まらない場合、自動的に下にスクロールしないため、ユーザーは常に下にスクロールする必要があります。この問題に直面している他のすべての参照は、.NET または c# にあります。追加後にカーソルをテキストボックスの一番下に設定することはできませんか? またはそのようなもの。どんな助けでも大歓迎です。ありがとう。

編集:追加してみました:

これは他の誰かのための解決策でしたが、私にとってはうまくいきませんでした。

0 投票する
1 に答える
503 参照

textbox - Grid の垂直スクロール位置を RichEditBox または TextBox に一致させる

RichEditBox(editor) とGrid(MarginNotes)を備えた Windows ストア アプリを持っています。

2 つの要素の垂直スクロール位置を常に一致させる必要があります。これの目的は、ユーザーがドキュメントの余白にメモを追加できるようにすることです。

カーソル位置に基づいてメモの配置を既に把握しています。メモが追加されると、カーソルまでのすべてのテキストが選択されます。その選択はRichEditBox、 内の2 番目の invisible に追加されStackPanelます。次にActualHeight、グリッド内のノートの位置を示すこのコントロールの を取得します。

私の問題は、RichEditBox上下にスクロールすると、Gridそれに応じてスクロールしないことです。

最初のテクニック

両方を の中に入れて、ScrollViewerスクロールを無効にしてみましたRichEditBox

コントロールの一番下までスクロールしてRichEditBoxEnter キーを数回押すと、カーソルが見えなくなります。はScrollViewerカーソルで自動的にスクロールしません。

カーソルの位置を確認し、それをエディターの高さと比較し、それにVerticalOffset応じてスクロールを調整する C# コードを追加してみました。これはうまくいきましたが、信じられないほど遅かったです。最初はKeyUp、文を入力するとアプリが停止するイベントでそれを持っていました。その後、5 秒のタイマーを設定しましたが、それでもアプリのパフォーマンスが低下し、カーソルが見えなくなってからRichEditBoxスクロールするまでに 5 秒の遅延が発生する可能性がありました。

第二のテクニック

MarginNotesまた、独自のを入れて、自分のイベントに基づいてScrollViewerプログラムで設定しようとしました。VerticalOffsetRichEditBoxViewChanged

関連するイベント ハンドラ

ViewChangedこれは機能しましたが、スクロールが停止した後、イベントが発生するまでスクロールが適用されないため、かなりラグがありました。イベントを使ってみたのViewChangingですが、なぜか全く発火しません。さらに、Grid高速スクロール後に位置がずれることもありました。