§1 テキストエディタの制作 VB6
 (4) クリップボードの追加 T 前へ 目次へ 次へ 

 クリップボードとは、Windowsに用意されているデータ転送の手段である。
 Windowsの多くのアプリケーションでは、データの切り取り、コピー、貼り付けをサポートしている。これらは基本的にクリップボードを経由して処理されている。
 ユーザはクリップボードを特に意識することなく、切り取り、コピーや貼り付けをすることができる。
 ここでは、テキストデータを対象にプログラムしていく。

 特別なプログラムがなくても、フォームにテキストボックスコントロールを貼り付け、テキストボックス内で右クリックすると切り取り、コピー、貼り付けのメニューが表示され、クリップボードを利用できるようになっている。


 1. テキストの範囲選択の情報

  クリップボードへの切り取りやコピーをする前には、範囲選択をする。範囲選択した文字列や位置などの情報を参照する必要がある。テストプログラムを作成して参照方法を確認する。
 テキストを範囲選択すると図1-4-1のように選択範囲が青くなる(青色反転表示)。
 選択の方法は、@の位置でマウスの左ボタンを押したままAまで移動させる(ドラッグする)。または、カーソルを@に移動させ、Shiftキーを押したままで右カーソル移動キー[→]をAまで押す。

図1-4-1


 新規フォームを用意して、テキストボックス1個(MultiLine=True, ScrollBars=2 - 垂直)、ボタン1個、ラベル3個を配置する。
 テキストボックスに表示させる内容は適当で良い。

図1-4-2

 テキストを範囲選択してからCommand1ボタンをクリックするとLabel1に選択開始位置、Label2に選択文字数、Label3に選択した文字列が表示されるようにする。

・プログラムリスト

Private Sub Command1_Click()
    Label1.Caption = "選択開始位置=" & Str(Text1.SelStart)
    Label2.Caption = "選択文字数(長さ)=" & Str(Text1.SelLength)
    Label3.Caption = "選択文字列=" & Text1.SelText
End Sub
プロパティについて
SelStart 選択の開始位置。先頭からの文字数で表される。先頭の文字は0文字目とする。
SelLength   選択した文字数。
SelText 選択した文字列。
文字のカウント方法は、全角、半角の区別なく、1文字と数える。

 範囲選択をしないで、各プロパティを参照(Command1ボタンをクリック)するとSelLengthは0、SelTextは空(から)となる。SelStartはカーソル位置(先頭からの文字数)を表す。


 (4) クリップボードの追加 T 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system