加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF RichTextBox GetCharacterRect

发布时间:2020-12-15 17:18:21 所属栏目:百科 来源:网络整理
导读:我正在尝试为在richtextbox中键入的所有字符获取字符rect.从MyRichTextBox.Document.ContentStart文本指针开始,我使用以下代码推进每个字符 currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward) 并使用以下代码检索“chara
我正在尝试为在richtextbox中键入的所有字符获取字符rect.从MyRichTextBox.Document.ContentStart文本指针开始,我使用以下代码推进每个字符

currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward)

并使用以下代码检索“character”rect

currentPointer.GetCharacterRect(LogicalDirection.Forward)

但看起来,对于从上面的代码返回的任何textpointer,rect的宽度始终为0.现在我能够根据前一个字符rect和当前字符rect之间的区域计算字符rect,但这会导致发生自动换行时的问题.

有没有办法可以从富文本框的GetCharacterRect()函数中获得非零宽度?

编辑

来自Microsoft here的内容显示相同.有人知道测量字符rect的替代方法吗?

解决方法

GetCharacterRect只返回一个矩形,表示相关字符的前沿(即零宽度,但准确的高度和位置) – 而不是“包装矩形”…虽然如果这就是你所追求的,你可以抓住两个连续字符的前沿并进行数学运算.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读