Webエディタの作成 VB6 |
HTMLタグの文字色を変える
HTMLタグの文字色の属性を設定する。タグ(tag)は、ブラウザにデータを表示するときの書式などを指定する命令で、"<"と">"ではさまれている。
次図のようにボタンとコンボをフォームに配置する。
タグ ボタン(cmdTag)
(オブジェクト名) … cmdTag、 Caption … タグ、
Height … 255、 Left … 3960、 Top … 480、 Width …
735
色設定コンボ ボタン(cmbColor)
(オブジェクト名) … cmdFile、 Text … 黒、
Height … 255、 Left … 4680、 Top … 480、 Width …
1095
文字色を変えるプログラムは「リッチテキスト試作 X キーワードに色を」とほぼ同じである。
・プログラムリスト
色設定用のコンボ(cmbColor)のリストに色名の設定を追加する。黒から順にリスト番号0, 1, 2, … ,15 が付けられるので、この番号を使ってQBColor関数で色を設定する。リスト番号は、ListIndexプロパティで参照できる。
Private Sub Form_Load()
… 省略 …
Combo1.AddItem "*.*"
'色番号設定
cmbColor.AddItem "黒"
cmbColor.AddItem "青"
cmbColor.AddItem "緑"
cmbColor.AddItem "水色"
cmbColor.AddItem "赤"
cmbColor.AddItem "紫"
cmbColor.AddItem "黄"
cmbColor.AddItem "白"
cmbColor.AddItem "灰色"
cmbColor.AddItem "明るい青"
cmbColor.AddItem "明るい緑"
cmbColor.AddItem "明るい水色"
cmbColor.AddItem "明るい赤"
cmbColor.AddItem "明るい紫"
cmbColor.AddItem "明るい黄"
cmbColor.AddItem "明るい白"
End Sub
タグボタンをクリックしたときのプログラムは、次のとおりである。(「リッチテキスト試作 X キーワードに色を」 参照)
Private Sub cmdTag_Click() Dim savept As Integer, endpt As Integer savept = RichTB.SelStart '現在のカーソル位置 RichTB.SelStart = 1 'テキストの先頭から Do '"<"の位置を検索 RichTB.SelStart = InStr(RichTB.SelStart, RichTB.Text, "<") If RichTB.SelStart = 0 Then '"<"なし Exit Do End If '">"の位置を検索 endpt = InStr(RichTB.SelStart, RichTB.Text, ">") 'RichTBのけた数は0からカウントするので-1する RichTB.SelStart = RichTB.SelStart - 1 '"<"から">"までの文字数 RichTB.SelLength = endpt - RichTB.SelStart '選択範囲を赤色にする RichTB.SelColor = QBColor(Val(cmbColor.ListIndex)) RichTB.SelStart = endpt Loop RichTB.SelStart = savept 'カーソルを元の位置に移動 RichTB.SetFocus 'フォーカス設定 End Sub
キーボードからタグを入力したときのプログラムは、次のとおりである。(「リッチテキスト試作 X キーワードに色を」 参照)
Private Sub RichTB_Change() If RichTB.SelStart <> 0 Then If Mid(RichTB.Text, RichTB.SelStart, 1) = "<" Then With RichTB .SelStart = .SelStart - 1 .SelLength = 1 .SelColor = QBColor(Val(cmbColor.ListIndex)) .SelStart = .SelStart + 1 End With ElseIf Mid(RichTB.Text, RichTB.SelStart, 1) = ">" Then RichTB.SelColor = QBColor(Val(cmbColor.ListIndex)) End If End If End Sub
タグに色を付けた後、別のファイルを読み込むと、タグと同じ色でテキストが読み込まれることがある。そこで、ファイルを読み込む前に、文字色を黒に設定するプログラムを追加する。
Private Sub ReadFile() 'ファイルをテキストとして読み込む RichTB.SelColor = QBColor(0) '色を黒する RichTB.LoadFile File1.Path & "\" & txtFileName.Text, rtfText WBrowser.Navigate File1.Path & "\" & txtFileName.Text End Sub
Copyright © 2001 Hiroshi Masuda |