文本在TextBox中的位置

时间:2012-08-16 18:17:32

标签: winapi vb6

嗨,我有一个包含一些文字的文本框。我希望复制红色拼写错误的波浪形行为。

使用WinAPI我可以

  • 在2点之间绘制波形。
  • 找出高度和宽度 这个词要“曲解”。

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

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

编辑(2012年9月3日): 仅供参考,这是我到目前为止所处的地方。需要大量精炼但显示基本原则

https://gist.github.com/3607272

很多thx

取值

1 个答案:

答案 0 :(得分:0)

可能有用的是使用自动尺寸标签。确保标签和文本框中的字体相同。

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

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

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

    .
    .
    And over here i have my

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