Webエディタの作成 VB6 |
ファイルの選択
ウィンドウの左側に配置したテキスト(txtFilename)、ドライブ(Drive1)、ディレクトリ(Dir1)、ファイル(File1)、コンボ(Combo1)の各オブジェクトを連携させて、ファイルを選択できるようにプログラムする。
ドライブとディレクトリ(フォルダ)の連携
ドライブ(Drive1)オブジェクトでドライブを選択すると、それに応じてディレクトリ(Dir1)オブジェクトの内容が変わるようにする。
ドライブオブジェクトが変更されるとChangeイベントが発生し、Drive1_Changeプロシージャが呼び出される。変更された内容(値)はDriveプロパティで参照することができる。
ディレクトリオブジェクトはPathプロパティに設定した値にしたがって表示する内容(フォルダ)が変わるので、このプロパティにDriveプロパティの値を設定する。
・プログラムリスト
Private Sub Drive1_Change()
'ドライブ名が変更されたら、ドライブ名をDir1.Pathに設定
Dir1.Path = Drive1.Drive
End Sub
処理はDrive1のDriveプロパティの値をDir1のPathプロパティに代入するだけである。実行してドライブを変更すると変更したドライブのフォルダがDir1オブジェクトに表示される。
ディレクトリとファイルの連携
ディレクトリ(Dir1)オブジェクトでフォルダを選択すると、それに応じてファイル(File1)オブジェクトの内容が変わるようにする。
ディレクトリオブジェクトが変更されるとChangeイベントが発生し、Dir1_Changeプロシージャが呼び出される。変更された内容(値)はPathプロパティで参照することができる。
ファイルオブジェクトはPathプロパティに設定した値にしたがって表示する内容(ファイル)が変わる。
・プログラムリスト
Private Sub Dir1_Change()
'フォルダ名が変更されたら、フォルダ名をFile1.Pathに設定
File1.Path = Dir1.Path
End Sub
処理はDir1のPathプロパティの値をFile1のPathプロパティに代入するだけである。実行してフォルダを変更すると変更したフォルダ内のファイルがFile1オブジェクトに表示される。
ファイルとテキストボックスの連携
ファイル(File1)オブジェクトでファイルを選択(ダブルクリック)すると、そのファイル名がテキスト(txtFilename)オブジェクトに表示されるようにする。
ファイルオブジェクトのファイルをダブルクリックするとDblClickイベントが発生し、File1_DblClickプロシージャが呼び出される。選択された内容(ファイル名)はFileNameプロパティで参照することができる。
・プログラムリスト
Private Sub File1_DblClick()
'ファイル名をダブルクリックしたら、ファイル名をtxtFilenameに設定
txtFileName.Text = File1.FileName
End Sub
処理はFile1のFileNameプロパティの値をtxtFilenameのTextプロパティに代入するだけである。実行してファイルをダブルクリックすると選択したファイル名がtxtFilenameオブジェクトに表示される。
ファイルとコンボボックスの連携
編集の対象となるファイルはHTMLファイルである。HTMLファイルは拡張子が"html"または"htm"という約束があるので、ファイル(File1)オブジェクトに表示させるファイルも拡張子が"html"または"htm"のものだけを表示するようにしたい。
ファイル(File1)オブジェクトのPatternプロパティにファイルを特定する文字列(パターン)を設定することができる。*や?のワイルドカードとセミコロン(;)が使える。セミコロンはパターンの区切りとして使用する。ここでは、拡張子が"html"または"htm"のものだけを表示したいので
"*.htm;*.html" という文字列を設定する。
コンボボックスコントロールは、テキストボックス (TextBox) コントロールとリストボックス (ListBox) コントロールの機能を組み合わせたもので、テキストボックス部分に文字列を直接入力する方法と、リスト部分から項目を選択する方法のどちらでも入力できる。リストに文字列を設定するには、AddItemメソッドを使用する。ここに、ファイルのパターンを設定することにする。設定するパターンは、"*.htm;*.html"、"*.css"と"*.*"の三つとする。"css"はCascading
Style Sheetの略でホームページのスタイルを統一するための書式などが書かれたスタイルシートのファイルである。"*.*"はすべてのファイルという意味である。
まずは、コンボのリストやファイルのパターンの初期設定をForm_Loadプロシージャにプログラムする。
・プログラムリスト
Private Sub Form_Load() ChDrive App.Path 'カレントドライブをプログラムと同じドライブにする ChDir App.Path 'カレントフォルダをプログラムと同じフォルダにする 'ファイルタイプ設定・種類 Combo1.Text = "*.htm;*.html" '初期値の設定 Combo1.AddItem Combo1.Text 'リストにデータを追加 Combo1.AddItem "*.css" 'リストにデータを追加 Combo1.AddItem "*.*" 'リストにデータを追加 File1.Pattern = Combo1.Text 'パターンの設定 End Sub
コンボのリストからマウスでパターンを選択したときは、コンボオブジェクトのClickイベントが発生し、Combo1_Clickプロシージャが呼び出される。また、キーボードからパターンを入力したときはコンボオブジェクトのKeyイベントが発生する。ここでは、Combo1_KeyPressプロシージャにプログラムする。
・プログラムリスト
Private Sub Combo1_Click() 'ファイルパターンを設定 File1.Pattern = Combo1.Text End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer) 'ファイルパターンを設定 If KeyAscii = vbKeyReturn Then File1.Pattern = Combo1.Text End If End Sub
Combo1_Clickプロシージャでは、選択されたコンボの内容をファイルのPatternプロパティに代入するだけである。Combo1_KeyPressプロシージャでは、リターン(エンター)キー(vbKeyReturn)が押されたときだけ、コンボの内容をファイルのPatternプロパティに代入している。
実行して、コンボの内容(パターン)を変更してみよう。パターンに応じたファイルが表示される。
Copyright © 2001 Hiroshi Masuda |