3

リッチ エディット コントロール内のテキスト全体を 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たり、オンラインの方向を教えてくれたりすることは可能でしょうか?
4

1 に答える 1

1

EM_STREAMOUT 以外はすべて同じです。

No.1から5はプレーンテキストを取得するだけです。No. 6 は、完全な RTF ストリームを取得します。というわけで、1.~5.はWM_GETTEXTを送るのとほぼ同じことをするメソッドに過ぎません。

于 2013-12-22T23:00:04.557 に答える