在win32中,我如何为我自己没有创建的RichEdit设置回调机制?
第1部分
我正在阅读另一个应用程序 GUI 中的 textedit 字段。这现在工作得很好,除了第一次阅读后我只想获取新的或修改的行。在 GTK+ 或 Qt 中,我只需在字段更改时编辑的某些信号上安装回调,但它在 Win32 上如何工作?
我的 MSDN 搜索结果没有任何用处,可能是因为我不知道要搜索的确切术语。textedit 的类是RichText20W,它有一些可能以某种方式使用的消息,尽管那篇文章只是讨论了将它们用于类的父级。
第2部分
另外,如果没有这样的“文本更改,这里是新插入的文本”回调立即返回新内容,我需要一些方法来轻松检测新内容。从我的头顶:
- 在我们阅读的文本块的末尾有一个标记,并且只在它和结尾之间阅读。
- 存储我们之前读过的内容,并在第二次阅读后,从后者中删除重复的部分以获取新插入的内容。
选项 2 可能不可行,因为 textedit 可以包含任意数量的文本。标记部分听起来可行,但再一次,我微弱的 Win32 技能和可怕的 Win32 函数名称使我无法找到正确的方法。
请注意,对于我不拥有且未创建的文本编辑器,所有这些都必须是可行的,它们属于第三方进程。
高度赞赏 C++ 中的代码示例。
免责声明
显然,如果有更好的方法,请告诉我。根据我之前使用 GTK+/Qt 的经验,我只假设回调是可行的方法。随意告诉我路径:)