3

嗨,我有一个包含一些文本的文本框。我正在寻找复制红色拼写错误曲线类型的行为。

使用 WinAPI 我可以

  • 绘制 2 点之间的曲线。
  • 找出要“弯曲”的单词的高度和宽度。

什么是 api 调用(或者如果它不仅仅是一个 api 调用,则可能是方法)来查找该单词在文本框中的位置,以便我可以将 siggle 定位在它的下方。

此外,我需要捕获哪些消息以确保重绘曲线。我目前只使用 WM_PAINT,这显然不够好。

编辑(2012 年 9 月 3 日):仅供参考,这是我到目前为止的工作。需要大量改进,但显示基本原则

https://gist.github.com/3607272

很多谢谢

小号

4

1 回答 1

1

可能有用的是使用自动调整大小的标签。确保标签和文本框中的字体相同。

  1. 检测包含拼写错误单词的句子之前的行数。
  2. vbcrlf使用您从问题 1 中获得的数字换行符 ( ) 填充标签标题。
  3. 将拼写错误行中的单词(直到拼写错误的单词)附加到标签标题中。
  4. 标签大小现在应该与拼写错误的单词的开头相同。

示例文本:

This is my first line.
And my second line.
And over here i have my mispeled word.

标签标题输出应该是(忽略点,它们是空行):

.
.
And over here i have my

标签的高度和宽度应与文本框中的位置相匹配,除非您有滚动条。如果文本框有边框,那么您应该为高度和宽度添加一个固定值以获得完全匹配。

于 2013-03-12T12:33:07.317 回答