カラーテーブルを設定するには?


  2003-12-12 04:13:58  No: 110649

VB6です。
とあるHPにあったプログラムを元に下記のプログラムを組んでみました。
ようはRTFのカラーテーブル部分を直接書き加えたい!っていうプログラムです。
RichTextBox2は、RTFを見るためのものです。

Private Sub Command1_Click()
    ss = RichTextBox1.TextRTF

    fp = InStr(1, ss, ";}}")
    ss = StrIns(ss, fp + 3, "{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green192\blue0;}")
    RichTextBox1.TextRTF = ss
    RichTextBox1.SelStart = 0
    RichTextBox1.SelLength = 0
    
    RichTextBox2.Text = RichTextBox1.TextRTF
End Sub
----------------------------------------------------------------------
Private Function StrIns(ss As String, pos As Long, Ssin As String)
    StrIns = Left(ss, pos - 1) & Ssin & Mid(ss, pos)
End Function

しかしなぜかRTFにカラーテーブルを書き加えることができません。
なぜでしょう?


ねろ  2003-12-12 07:07:12  No: 110650

テキストを2つ並べて比べながら、RTFを作るコツは
RichTextBox1.SelStart = 1
RichTextBox1.SelLength = 2
RichTextBox1.SelColor = RGB(255, 0, 0)
などとやって出来るTextRTFのコードと
同じコードをいかに作成するか考えることです。
烏さんのコードはカラーテーブルだけ作って実際変えたい
文字の指定がありません。
こういうコードはRichiTextBox先生は決して作りません。
RichiTextBoxが作り出すコードをみて
「何も足さない、何も引かない」これがコツです。


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

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






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