【Standard Control】


▼Image▼
 色鮮やかな画像をVBでも扱ってみたいと誰もが思うものですが、画像を閲覧 するぐらいのものなら数行のコードで実現することができます。


 ここでは、前回のファイルリストボックス等を使用し、そのファイルリスト ボックスのファイルをクリックするとイメージコントロール(Image)に画像が 表示されるプログラムを作ります。  まず、以下のようにドライブリストボックス(DriveListBox)、 ディレクトリリストボックス(DirListBox)、 ファイルリストボックス(FileListBox)、イメージコントロール(Image) とLabelコントロール2つを配置して下さい。

 変更するプロパティは次の通りです。
(プロパティ表)
Label1
Captionファイルパス
Label1
Captionファイルネーム
File1
Pattern*.bmp
Image1
BorderStyle1
StretchTrue

Patternプロパティはファイルリストボックスに表示するファイルタイプのこと です。既定値は*.*で、すべてのファイルのことを意味しています。
拡張子がbmpのファイルだけを表示させたい場合、*.bmpとします。また、bmpと jpgファイルを表示したいときは、*.bmp;*.jpgのように「;」記号を使います。

 次にDrive1_Change(),Dir1_Change(),File1_Click()プロシージャにコードを追加しますが、これは 前回のコードとほとんど変わりありません。太字の部分のみが変更点です。

  

Private Sub Drive1_Change()
    'ドライブとフォルダのパスを連結させる
    Dir1.Path = Drive1.Drive
End Sub
Drive1_Change()プロシージャ

  

Private Sub Dir1_Change()
    'フォルダとファイルのパスを連結させる
    File1.Path = Dir1.Path
End Sub
Dir1_Change()プロシージャ

 これで、DriveListBox,DirListBoxをダブルクリックしたとき、それに従って DirListBox,FileListBoxのリストも変更されるようになります。
 次に、FileListBoxのファイルをユーザーがクリックしたとき、そのファイル 名とパス名をLabelに表示させ、Imageに画像を表示するコードを記述します。

  

Private Sub File1_Click()
    Dim mfn As String 'ファイル名格納
    Dim mfp As String 'ファイルパス格納
    mfn = File1.filename
    mfp = File1.Path
    'パス名の最後に\がなければ付け足す
    If Right$(mfp, 1) <> "\" Then mfp = mfp & "\"

    'イメージコントロールに画像をロード
    Image1.Picture = LoadPicture(mfp & mfn)
    
    Label1.Caption = mfp
    Label2.Caption = mfn
End Sub
File1_Click()プロシージャ

 Imageコントロールの大きさに合わせて画像が拡大縮小表示されますが、これは StretchプロパティがTrueであるためです。このプロパティがFalseだとこのような 表示にはなりません。

 たったこれだけのコードで画像を気軽に見ることができるプログラムを作れる 開発ツールなんてたぶん他にないでしょう。 


Standard Controlインデックス トップページ


Copyright(C)1999 Tomoya. All rights reserved.