2.ファイルシステムコントロール(ドライブ・リスト・他)の使用例 |
1.ファイルシステムコントロール(ドライブ・リスト・他)の使用例(縮小画像の表示機能付き) 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.ファイルシステムコントロール(ドライブ・リスト・他)の使用例 |
Frame1 上に下図のような感じに、Drive1、Dir1、File1、Combo1、Text1、Command1、Command2、Image1
の各コントロールを配置しておいて下さい。(コントロール名や配置はお好みで) 図1.使用コントロール類と配置図 Option Explicit Private Sub Form_Load() '読込ファイルの拡張子の制限(使用目的で変更して下さい) Combo1.AddItem "*.bmp;*.dib;*.jpg;*.gif;*.wmf;*.ico;*.cur;*.emf" Combo1.AddItem "*.txt" Combo1.AddItem "*.*" Combo1.Text = "*.*" 'カレントフォルダーとドライブを指定 Dir1.Path = App.Path '"c:\" Drive1.Drive = App.Path End Sub Private Sub Drive1_Change() On Error GoTo errhandle 'エラーが発生したら処理ルーチンへ 'ディレクトリリストボックスに選択したドライブを Dir1.Path = Drive1.Drive Exit Sub errhandle: '元のドライブを指定 Drive1.Drive = Dir1.Path 'エラーが発生した次のステートメントへ移動 Resume Next End Sub Private Sub Dir1_KeyPress(KeyAscii As Integer) 'Enterキーでの操作を可能に If KeyAscii = vbKeyReturn Then Dir1.Path = Dir1.List(Dir1.ListIndex) End If End Sub Private Sub Dir1_Change() '選択したディレクトリをファイルリストボックスへ File1.Path = Dir1.Path 'コンボボックスで指定された拡張子のファイルだけ抽出 File1.Pattern = Combo1.Text End Sub Private Sub File1_Click() Dim wpath As String Dim filename As String '現在のパスを取得 wpath = Dir1.Path 'ルートディレクトリ以外は\を付加する If Right$(wpath, 1) <> "\" Then wpath = wpath & "\" '選択されたファイル名をフルパスで取得 filename = wpath & File1.filename 'テキストボックスに表示 Text1.Text = filename End Sub Private Sub Combo1_Change() 'コンボボックスに変更があったら Dir1_Change End Sub Private Sub Combo1_Click() 'ディレクトリリストボックスのチェンジイベントを発生 Dir1_Change End Sub Private Sub Text1_Change() '画像ファイルを選択した場合サムネイル画像を表示 '表示しないのであればこの部分は削除して下さい。 On Error Resume Next 'サポートしている画像ファイルかを調査 If InStr(1, "bmp dib gif jpg wmf emf ico cur", _ Right$(Text1.Text, 3), 1) = 0 Then '画像ファイルでない場合表示しない Image1.Picture = LoadPicture() Exit Sub End If With Image1 'イメージのサイズにコントロールを変更 .Stretch = False .Visible = False 'イメージファイルの読込 .Picture = LoadPicture(Text1.Text) '縦横比を変えずに縮小表示 If .Height >= .Width And .Height > 1210 Then .Width = .Width * 1210 \ .Height .Height = 1210 ElseIf .Width >= .Height And .Width > 1210 Then .Height = .Height * 1210 \ .Width .Width = 1210 End If .Stretch = True .Visible = True End With End Sub Private Sub Command1_Click() '選択ボタン MyFileName = Text1.Text Frame1.Visible = False End Sub Private Sub Command2_Click() '閉じるボタン Frame1.Visible = False End Sub 図2.上記実行結果 このようにフレーム上にパーツ化しておくと、必要な時に簡単に移植でき便利ですよ。 フォームに上記のように各コントロールを貼り付けて上記のコードをペーストして頂くと動作します。 サポートされている画像ファイルを選択すると縮小表示します。不要な場合は削除して下さい。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
ファイル選択ダイアログ 縮小画像の表示機能付きファイル選択システム ディレクトリリストボックスコントロール ドライブ リストボックスコントロール ファイル リストボックスコントロール |