リッチテキスト試作 VB6 |
リッチテキスト(Rich Text)とは、文字のフォント、サイズ、色などの文字属性を含む文書情報を記述するためのもので、Microsoft社がフォーマットを規定し、公開している。RTFフォーマットとも呼ばれる。
ここでは、リッチテキストボックス コントロールによる、ファイルの読み書きや文字属性の設定などの機能について調べる。
Visual Basicのリッチテキストボックスコントロール(Microsoft Rich Textbox Control)は、標準では使えないので、次のようにして設定しなければならない。
非標準コントロールの追加
フォームの準備
新規フォームを用意し、プロパティを次のように設定する。
Caption … リッチテキスト テスト、 Height … 7200、 Width … 9600
フォームに次のようなコントロールを配置する。
リッチテキストボックス(RichTextBox1)
Height … 5655、 Left … 120、 Top … 120、 Width …
4575
ScrollBars … 2 - rtfVertical
テキストボックス(Text1)
Height … 5655、 Left … 4800、 Top … 120、 Width …
4575
Multiline … True、 ScrollBars … 2 - 垂直
コマンドボタン コントロール配列 (Command1(0)〜(4))
(0) Height … 375、 Left … 120、 Top … 5880、 Width … 975、 Caption
… 標準
(1) Height … 375、 Left … 1200、 Top … 5880、 Width … 975、 Caption
… 太字
(2) Height … 375、 Left … 2280、 Top … 5880、 Width … 975、 Caption
… 斜体
(3) Height … 375、 Left … 3360、 Top … 5880、 Width … 975、 Caption
… 下線
(4) Height … 375、 Left … 4400、 Top … 5880、 Width … 975、 Caption
… 取消線
コマンドボタン(Command2)
Height … 375、 Left … 8400、 Top … 6360、 Width …
975、 Caption … 終了
リッチテキストボックスとテキストボックスのScrollBarsプロパティは、スクロールバーを表示するためのもので、ここでは、垂直方向のスクロールバーだけを表示するように設定している。垂直方向のスクロールバーだけにするとオブジェクトの右端で次の行に折り返して表示される。このほか、水平方向だけ、垂直・水平両方向の設定ができる。リッチテキストボックスのスクロールバーは必要になったとき(行数がオブジェクトの大きさを超えたとき)に表示される。
リッチテキストボックスのプロパティ
便利な機能として次のようなプロパティがある。
AutoVerbMenu
オブジェクト内で右クリックすると、カット、コピー、貼り付けなどのメニューが
True = 表示される。 False = 表示されない
HideSelection
オブジェクトがフォーカスを失ったときに選択範囲を反転表示したままに
True = する。 False = しない。
文字属性T
文字属性を設定するコマンドボタン(Command1)をコントロール配列にしているので、どのボタンがクリックされたかは、引数のIndexを調べればわかる。引数Indexと配列の添字は一致している。
文字属性の設定には、SelBold、 SelItalic、 SelUnderline、 SelStrikeThru プロパティを使う。
・プログラムリスト
Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 RichTextBox1.SelBold = False '太字OFF RichTextBox1.SelItalic = False '斜体OFF RichTextBox1.SelUnderline = False '下線OFF RichTextBox1.SelStrikeThru = False '取消線OFF Case 1 RichTextBox1.SelBold = True '太字ON Case 2 RichTextBox1.SelItalic = True '斜体ON Case 3 RichTextBox1.SelUnderline = True '下線ON Case 4 RichTextBox1.SelStrikeThru = True '取消線ON End Select End Sub Private Sub Command2_Click() Unload Me End End Sub
実行して、文字列を範囲選択後、文字属性のボタンをクリックしてみる。
Copyright © 2001 Hiroshi Masuda |