2011-07-06 14 views
3

richtextbox内に入力されたすべての文字の文字rectを取得しようとしています。 MyRichTextBox.Document.ContentStartのTextPointerをから始めて、私は次のコードWPF RichTextBox GetCharacterRect

currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward) 

を使用してすべての文字を進め、次のコード

currentPointer.GetCharacterRect(LogicalDirection.Forward) 

を使用して「文字」RECTを取得しかし、それはすべてのために、のように見えます上記のコードから返されたtextpointerは、rectの幅は常に0です。これで、前の文字矩形と現在の文字矩形の間の領域に基づいて文字矩形を計算することができましたが、これはワードラップが発生すると問題になります。

リッチテキストボックスのGetCharacterRect()関数からゼロ以外の幅を取得する方法はありますか?マイクロソフトhereから

EDIT

内容は同じことを示しています。誰かが文字のrectを測定する代替手段を知っていますか?

答えて

2

GetCharacterRectは、「ラッパー矩形」ではなく、問題の文字の前縁を表す矩形(つまり、幅はゼロですが正確な高さと位置)を返します。あなたは2つの連続する文字の最先端をつかんで数学をすることができます。

関連する問題