使用WM_SETTEXT替换窗口内容,同时保持窗口滚动位置

时间:2013-05-24 07:59:00

标签: c# winapi sendmessage

我正在构建一个将RTF文本发送到第三方窗口的应用程序。它基本上在原始的第三方IDE中提供自动更正功能。

我可以设置此窗口的内容(即更正的代码),但这样做会将窗口的滚动位置设置为顶部。这非常烦人,因为用户必须向下滚动到自动更正开始之前的位置。

我可以将光标设置到正确的位置(在页面上),但这不会阻止窗口滚动到顶部。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

替换文本的一小部分时,

WM_SETTEXT是错误的消息。您可以使用WM_SETTEXT设置控件的整个文本内容。

您想要的是选择需要更正的单词。请使用EM_SETSEL。然后使用EM_REPLACESEL将文本替换为更正后的版本。我希望这也能解决不必要的滚动问题。