WinXP SP2、VB2005 Expressの環境なのですが、
RichTextBoxで複数のフォントサイズを持つテキストを準備し
(同一テキスト内の一部がサイズ違い)、デバッグ中にテキストを
選択していくと、フォントサイズが違う部分を選択部分に含めた時点で
SelectionFont.Sizeプロパティの値がおかしくなります。
(ex.14pと20pのフォントを選択するとSelectionFont.Sizeは13になる)
この状態を、「複数のフォントサイズが含まれている」と正しく認識
することは不可能なのでしょうか?
フォントの種類自体が違えば、SelectionFont Is Nothingになるので
判別できるのですが、サイズだけ違う場合の判別の仕方がわかりません。
わかる方がいらっしゃいましたら、ご教授ください。
追加で今 気が付いたことなのですが、SelectionFont.Styleについても
似たようなことが言えるようですね。
例えばBoldの文字とBoldでない文字の両方を選択文字列に含むと、
SelectionFontはNull参照(Nothing)にならず、SelectionFont.Boldプロパティは
Falseになったりするようです。
その辺りの判別法も、あったら教えて頂ければ幸いです。
細かい操作をしようとするとどうしても最後は
Rtfに頼るしかないのでしょう。
レスありがとうございます。
Rtfに頼るということは、直接Rtfの中身を解析する、という事でしょうか?
結構面倒そうですね……
アプリの仕様的な部分も含め、色々調べたり考えたりしてみたいと思います。
ありがとうございました。
>Rtfに頼るということは、直接Rtfの中身を解析する、という事でしょうか?
Yes.
>結構面倒そうですね……
そんなに面倒ではなく、RichTextBoxの選択された文字に相当する
Rtfの中に\fsが有るか見るだけですが。
ボールドの場合は\b0を見つけることになります。
度々ありがとうございます。
あ、そうですよね、文字を制限してSelectedRtfプロパティを見ればいいだけですもんね。
rtfファイルの中身を見て「うげ」と思ってしまったもので(汗)
その程度なら簡単に解析出来そうですね。
ツイート | ![]() |