RichTextBoxで文字の状態を取得するには


GHz  2002-05-04 02:33:39  No: 75568

RichTextBoxコントロールで、
好きなところの1文字プロパティ(.Bold,.Italic,など)どうしたら取得
できるのでしょうか?


くりちゃん  URL  2002-05-04 05:21:31  No: 75569

ヘルプ(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


GHz  2002-05-05 03:20:31  No: 75570

Sel*** プロパティも前試したのですが、文字の量が
多くなると処理がとても遅くなってしまうんです。
ほかになにかいい方法はないでしょうか?


Say  2002-05-07 02:20:15  No: 75571

>Sel*** プロパティも前試したのですが、文字の量が
>多くなると処理がとても遅くなってしまうんです。

RichTextBoxコントロールの問題ですから、
回避は難しいでしょう。

>ほかになにかいい方法はないでしょうか?
速度を追求したコントロールを自作するとか・・・。
VC++あたりで開発するとか・・・。
高速なマシンを用意するとか・・・。


こころ  URL  2002-05-11 10:17:46  No: 75572

全てのテキストをRichTextBoxコントロールで処理させず、
現在表示する必要のあるテキストのみ処理させるとか。
サブクラス化とかやってごちょごちょやったらできそうな気がしますが
別に試したわけではないのであまり根拠はありません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加