- ベストアンサー
VBのリッチテキストについて
OS98,VB6.0でテキストエディタを作っています。 文章中で指定した文字列を部分的に色をつける機能をつけたいと考え、 いろいろと調べてわかったことは、リッチテキストを使えばいいということでした。しかし、どのようにすれば、部分的に色を変えることができるのかわかりません。 あらかじめワードパッドで部分的に色を変えて保存したrtfファイルではリッチテキストに読み込んだとき、ちゃんと部分的に色が変わった状態で表示させることができました。 また文字の書式を取得しなければならないのかと思って以下のアドレスのプログラムを参考にさせてもらっていたのですが、実行ボタンを押しても何も起こらずいきずまってしまいました。 http://vbvbvb.com/jp/gtips/0451/gSendMessageEmGetcharformat.html どんな情報でもよいので、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 リッチテキストボックスのプロパティで Sel~ というのがいくつかあります。 これらは選択されている範囲に対して文字の属性を変更します。 例えば、 太字にする:SelBold = True 下線を引く:SelUnderline = True 赤色にする:SelColor = vbRed 20ポイントにする:SelFontSize = 20 MS明朝にする:SelFontName = "MS 明朝" などです。 ちなみに、コードで選択するのは、普通のテキストボックスと同じで、 SelStartとSelLengthを設定します。 あと、リッチテキストボックスの場合は、ファイルの読み書きが簡単で、 RichText1.LoadFile "c:\ファイル.rtf", rtfText RichText1.SaveFile "c:\ファイル.rtf", rtfText で出来ます。 (普通のテキストボックスで行う、Openステートメントでの読み書きは必要ありません。) 他にも簡単な検索(Findメソッド)とかもあります。 詳細はヘルプで。(MicrosoftのHPのURLを載せておきます。) http://www.microsoft.com/japan/developer/library/VBCon98/vbconusingrichtextboxcontrol.htm
その他の回答 (2)
- ahoojpn
- ベストアンサー率53% (7/13)
No.1の方の回答で、「文章中で指定した文字列を部分的に色をつける機能」は作れると思いますが、SelColorプロパティだと、SelColor = ? の"?"で選択した色のみしか選べません。もし、[色の設定]を指定したカラーにしたいのであれば、以下の方法にしてください。 Private Sub Command1_Click() CommonDialog1.ShowColor '文字色を選択した色にする RichTextBox1.SelColor = CommonDialog1.Color End Sub RichTextBoxの中の文章の内、ドラッグ(反転表示)した部分が、指定したカラーになります。コモンダイアログを使っています。
お礼
なるほど。そのようにして色を、たくさん選択できるのですね。ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
http://isweb20.infoseek.co.jp/computer/itsuko_m/rtf04.htm にリッチテキストに色を付けるプログラミングをVisualBasicで行うの記述があります。
お礼
紹介してもらったアドレスはちょっと自分にとって難しいですが、がんばって勉強します。ありがとうございます。
お礼
ありがとうございます。簡単にできました。