RichTextBoxコントロールで、
好きなところの1文字プロパティ(.Bold,.Italic,など)どうしたら取得
できるのでしょうか?
ヘルプ(MSDNライブラリ)で"Sel*** プロパティ"を調べてみましょう。
↓荒っぽいサンプルですが(エラー未対応)
Private Sub RichTextBox1_MouseUp(...省略...)
With RichTextBox1
Debug.Print .SelStart
Debug.Print .SelLength
Debug.Print "文字列:" & .SelText
Debug.Print "フォント名:" & .SelFontName
Debug.Print "フォントのサイズ:" & .SelFontSize
Debug.Print "ボールド:" & .SelBold
Debug.Print "イタリック:" & .SelItalic
End With
End Sub
Sel*** プロパティも前試したのですが、文字の量が
多くなると処理がとても遅くなってしまうんです。
ほかになにかいい方法はないでしょうか?
>Sel*** プロパティも前試したのですが、文字の量が
>多くなると処理がとても遅くなってしまうんです。
RichTextBoxコントロールの問題ですから、
回避は難しいでしょう。
>ほかになにかいい方法はないでしょうか?
速度を追求したコントロールを自作するとか・・・。
VC++あたりで開発するとか・・・。
高速なマシンを用意するとか・・・。
全てのテキストをRichTextBoxコントロールで処理させず、
現在表示する必要のあるテキストのみ処理させるとか。
サブクラス化とかやってごちょごちょやったらできそうな気がしますが
別に試したわけではないのであまり根拠はありません。
ツイート | ![]() |