Visual Basic 6.0 初級講座 |
第14回 その他の標準コントロール
執筆:2000年3月3日
第7回から前回まで標準コントロールについて解説してきました。もう1度標準コントロールを振り返ってみます。下の画像を見てください。
主要なコントロールについてはすべて解説したつもりですがまだ解説していない標準コントロールもいくつかあります。ドライブリストボックス、ディレクトリリストボックス、ファイルリストボックス、シェイプ、ライン、データ、OLEコンテナです。今回はこれらについて軽く説明を加えてコントロール編の最後にしたいと思います。各コントロールのさらに詳細な使い方は中級編かテクニックで説明するつもりです。
1.ドライブ、ディレクトリ、ファイルリストボックス
これらは主にユーザーにファイルやフォルダを選択させる目的で使います。この3つは多くの場合連動して使います。それぞれの使い方はリストボックスに似ていますが、ドライブ、フォルダ、ファイルを専門的に扱う点が異なります。
なお、通常はファイルを選択される場合には コモンダイアログボックス という非標準コントロールを使います。下の「参照」ボタンをクリックするとコモンダイアログボックスが表示されます。よく見かけるやつですね。
この便利なコモンダイアログボックスがあるために、これら3つのコントロールを使う機会は少なくなっています。これら3つを使ってファイル名を取得するサンプルを載せておきます。
Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub |
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub |
Private Sub File1_Click() MsgBox File1.Path & "\" & File1.FileName End Sub |
それぞれやっていることは、たとえばドライブリストボックス(Drive1)が変更されたら、変更されたドライブのフォルダをディレクトリリストボックスに表示しなさいと言った物です。先ほども書いたようにコモンダイアログボックスの出現によりこの手のプログラミングを実際にする必要はありません。
自分独自の方法や見かけでファイルを選択させたい場合にはこれらを使うのもいいでしょうが、そうでない限りおすすめできません。
しかし、これらではないとできない、あるいは難しいと言った事柄もあります。たとえば、ファイルではなくフォルダを選択させたい場合はこれらを使う方法が一番簡単でしょう。それに加えて、これらのリストボックスはパスを指定するだけで自動的にフォルダやファイルを取得して表示してくれるのでファイルの数を調べたりするときにも使うことができます。たとえば、C:\Windowsフォルダにいくつのファイルがあるか数えるには下のようにしてください。(WindowsフォルダがCドライブにない人は適当に変更してください)。
Private Sub Form_Load()
End Sub |
たったこれだけです。もちろんファイルリストボックスを配置していないと作動しませんよ。この2行で指定したフォルダにあるファイルの数を数えられるのだからなかなか便利です。
ちなみに、ファイルリストボックスのHiddenプロパティ(ヒドゥン)をTrueにしていないと隠しファイルは表示・カウントともにされません。Systemプロパティ(システム)をTrueにしないとシステムファイルも表示されません。
最後に、ファイル名を取得したらどうやってファイルを開くのか知りたい人も多いでしょう。ファイルにはいろいろな種類があるので種類によって開き方は違います。ここで説明しているのは「ファイル名の取得」までで、取得したファイルを開く処理についてはファイルの種類に応じて自分で何とかするしかありません。そのうち代表的なファイルについては説明するつもりです。もう一度はっきりさせておくと、ドライブリストボックス、ディレクトリリストボックス、ファイルリストボックス、コモンダイアログボックスにはファイル名を選択させる機能はあってもファイルを開く機能はありません。
2.シェイプ・ライン
自分で作ったプログラムの中に線を書いたり、四角でくくったりまるで印を付けたりと図形を書きたいときがあることでしょう。これらの要求は第2回で説明したグラフィックメソッド(LineやCircle)を使うことにより解決できます。
しかし、グラフィックメソッドは使うのがめんどくさいのでちょっと線を引きたいだけとかの場合には嫌になってしまいます。そんな時に簡単に使えるのがこのシェイプとラインです。
使い方は簡単です。配置するだけです。自分が図形を表示したいと思う位置に配置してください。円やもっとこった図形も表示できますよ。シェイプコントロールのShapeプロパティ(シェイプ)を変更すると多少はバリエーションのある図形になります。線の太さはBorderWidthプロパティ(ボーダーウィドゥス)で変更できるし、塗りつぶしも他のプロパティをいじるとできます。
いろいろ試してみてください。
これらのコントロールはただ表示するだけなので使い方は今までのコントロールの中で一番簡単なんじゃないでしょうか?
3.データ
たしか、日本語版ではVB4から新しく加えられたコントロールです。このコントロールはなかなかの優れもので、コードを一行も書かないでもデータベースの内容を表示させたり変更することができます。ただし、これを使うには多少データベースの知識が必要ですので解説はまたの機会に譲ります。
4.最後に ActiveX
まだ、OLEコンテナが残っているのですがこれは私は解説できるほど使ったことがないのでやめておきます。下手に解説して全然違うことを書いてしまったらやばいですから・・・。
標準コントロールの基本的な解説は以上で終了です。どのコントロールの解説も基本的な部分しか解説していませんのでその点は留意してください。各コントロールには驚嘆すべきいろいろな機能や使い方がまだまだあります。自分で新しい使い方を発掘するのも良いでしょう。
さらに、VBで使用できるコントロールはこれだけではありません!説明が終わったのは標準コントロールと呼ばれる20個のコントロールだけです(ほとんど解説してないのもありますけど)。この他にもたくさんのコントロールが使えます。これらのコントロールは標準コントロールと区別してActiveXコントロール(アクティブエックス)、または単にActiveXと呼ばれます。
ActiveXの代表は今回ちらっと登場したコモンダイアログボックスです。他にもそれこそ20個以上のコントロールが用意されています。
でも、ActiveXコントロールってどこにあるのでしょうか?
標準コントロールと違って最初から表示されていないのでわかりにくいですね。
ActiveXを表示させるには VBのメニューの[プロジェクト]から、[コンポーネント]を選びます。そうするとずらっとActiveXの一覧が表示されますから使いたい物にチェックをしてOKを押します。これで標準コントロールの下にActiveXのアイコンが表示されます。それにしてもたくさんActiveXがあることが確認できましたか?
ここに表示されるActiveXのうちVBに付属しているものはそれほど多くありません(それでも結構ありますが)。実は多くのActiveXはあなたがパソコンにインストールした他のソフトから提供されているのです。たとえば私はジャストシステム社製のアプリケーションをインストールしているので JSビットマップボタン というちょっとおもしろいコマンドボタン型のActiveXが使用できます。
このように自分がインストールしたソフトは自分も気がつかないうちにVBにActiveXを提供しているのです。ということは多くのソフトがインストールされていればActiveXも増えると言うことですね。ここがVBのすばらしいところです。マイクロソフト社製のアプリケーションとは特に親和性が高いです。
ただし、これらのコントロールは 著作権フリー でないものがほとんどです。自分のパソコン用に使用することはいっこうに構いませんが、プログラムを他のパソコンで使用する際には気をつけて下さい。それに、説明書などもちろんついていないので自分でコントロールの使い方を解明していく作業も必要です。
さて、ActiveXコントロールにはインターネットから無料でダウンロードできてしかも著作権フリーと言うありがたい物もありますからみなさんネット探検にいそしんでみてはいかがでしょうか。私のページにもそういったサイトへのリンクや自作のActiveXを掲載できたらいいなと思っております(この希望は現在のところ実現していません)。