c++ - 将丰富的编辑控件中的整个文本作为 CString 获取的各种方法

标签 c++ winapi mfc richedit-control

我想将丰富的编辑控件中的整个文本作为 CString 获取,并且来 self 的研究 似乎有六种方法可以实现这一点:

  1. GetTextRange并使用 GetTextLength 获取范围
  2. EM_GETTEXTEX
  3. GetWindowText
  4. GetDlgItemText
  5. WM_GETETXT
  6. EM_STREAMOUT

我的问题如下:

  1. 使用 GetTextRange 等方法有什么区别? , GetWindowText , 和 GetDlgItemText与使用 EM_GETTEXTEX 等消息相比, WM_GETETXT , 和 E M_STREAMOUT .
  2. 什么时候使用一种类型,什么时候使用另一种类型?
  3. EM_GETTEXTEX 之间有什么区别? , WM_GETETXT , 和 EM_STREAMOUT在完成将丰富的编辑控件中的整个文本作为 CString 的任务方面?
  4. 最后有人可以提供一个如何使用 EM_GETTEXTEX 的例子吗? , 或者给我指出一个在线的方向?

最佳答案

除了 EM_STREAMOUT 之外,其他都是一样的。

没有。 1 到 5 只是获取纯文本。第 6 位获得完整的 RTF 流。 所以 1. 到 5. 只是与发送 WM_GETTEXT 几乎相同的方法。

关于c++ - 将丰富的编辑控件中的整个文本作为 CString 获取的各种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724906/

相关文章:

c++ - 在mfc中打开另一个窗体

c++ - [C++]我想从wav文件中获取PCM数据

winapi - FASM - 如果文件存在 - 使用 GetFileAttributes - INVALID_FILE_ATTRIBUTES 值?

winapi - 从 Windows 文件描述符或 FILE* 中提取文件句柄

c++ - Qt 需要将 Qt 应用程序带到前台,从 win32 应用程序调用

c++ - 即使 CMenu 当前打开,如何强制 LVN_HOTTRACK 始终触发

c++ - 如何在禁用的 MFC CEdit 控件中显示插入符号?

c++ - 从 C++ 中的字符串解析键/值对

c++ - 检查连接状态 - Ignite 的 C++ odbc 驱动程序

c++ - 如何捕获初始化静态成员时抛出的异常