[リストへもどる]
一括表示

投稿時間:2003/02/16(Sun) 10:26
投稿者名:hou
URL :http://jh7qvt@kumagera.ne.jp
タイトル:
画像を読み込みピクチャーボックスに表示
逆引きヘルプ一覧表にある、画像を読込みPictureBoxに縮小画像を
表示ですが、以下の用件を満たすように変更したいのですが良く判らないので
教えていただけませんか。
1.画像は、作成時間の新しい順に20枚のみ表示させる。
2.作成フォームの大きさで起動する。(例を実行すると最大化で起動する)
以上よろしくお願いします。

投稿時間:2003/02/16(Sun) 11:30
投稿者名:これ
URL :
タイトル:
Re: 画像を読み込みピクチャーボックスに表示
> 1.画像は、作成時間の新しい順に20枚のみ表示させる。
> 2.作成フォームの大きさで起動する。(例を実行すると最大化で起動する)
こんにちは。

1. ファイルリストBOXは使わずに、FileSystemObject等を利用して
  作成時間(DateCreated)の降順ソート処理を別途作り
  そこから20個分のファイル名&パスを取ってくるように
  変更すればいいと思います。

2. サンプルの内容は理解されてますか?
  まずForm_Load()の中を調べましょう。
  次にPictureShow()とScrollBarShow()も何をしているか
  順に追って見てください。
  最大化している命令は1つですが
  最大化だけをやめても他に影響がでますから。
  MSDNヘルプとにらめっこしてでもプログラムを追っかけて
  何をしているかがわかれば、答えはすぐに出ると思います。

投稿時間:2003/02/16(Sun) 11:56
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 画像を読み込みピクチャーボックスに表示
> 1.画像は、作成時間の新しい順に20枚のみ表示させる。

ひとつのピクチャーボックスに1枚づつ表示したいのでしょうか?

> 2.作成フォームの大きさで起動する。(例を実行すると最大化で起動する)

フォームは最大化で表示していますがピクチャーボックスはサイズを指定いますし
画像のサイズは Zoom で縮小率をしていしておりますので元のサイズで表示したい
なら Zoom=1.0(100%)を指定して下さい。
勉強したいならコピー&ペーストせずにプログラムを自分で書いて下さい。
解らない部分は反転表示させ[F1]キーを押すとヘルプが表示されます。
コメントと合せて調べて行けば理解できると思います。

投稿時間:2003/02/16(Sun) 14:05
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^2: 画像を読み込みピクチャーボックスに表示
> 1.画像は、作成時間の新しい順に20枚のみ表示させる。

ListBox のSorted プロパティを利用した方法をこちらが理解できたら
並べ替えはここのソートプログラムを利用して作成して見て下さい。

Private Sub Command1_Click()
    Dim strFilDay      As String
    Dim strFileTime    As String
    Dim strFolderName  As String
    Dim TempFile       As String
    Dim Kakutyousi     As String
    Dim Target         As String
    Dim KPos           As Integer
    '取得したいファイルの拡張子を指定
    Target = ".BMP.JPG.JPEG.WMF.EMF.ICO.GIF.PNG"
    strFolderName = "c:\windows\"
    'ディレクトリー内の全ファイル・フォルダを読み込む
    'TempFile = Dir$(strFolderName, vbDirectory Or vbHidden Or vbSystem)
    TempFile = Dir$(strFolderName & "*.*")  'ファイルだけならこちらでも
    'TempFile が空になるまで繰り返し
    Do While TempFile <> ""
        KPos = InStr(TempFile, ".")
        If KPos > 1 Then
            '拡張子を取得
            Kakutyousi = Mid$(TempFile, KPos, Len(TempFile) - KPos + 1)
            '指定の拡張子照合(大文字小文字を区別しないで)
            If InStr(1, Target, Kakutyousi, vbTextCompare) > 0 Then
                'ファイルをファイルリストボックスから読込んでもOKです。
                strFileTime = FileDateTime(strFolderName & TempFile)
                If Len(strFileTime) <= 11 Then
                    strFileTime = strFileTime & " 00:00:00"
                End If
                strFilDay = Left$(strFileTime, 11)
                strFileTime = Mid$(strFileTime, 12, Len(strFileTime) - 11)
                '9時までの場合0を付加(Sortの時の桁揃え用)
                If Len(Trim$(strFileTime)) <= 7 Then
                    strFileTime = "0" & strFileTime
                End If
                List1.AddItem strFilDay & strFileTime & "     " & _
                                       strFolderName & TempFile
            End If
        End If
        TempFile = Dir$        '次のファイル名を読込
    Loop
    'リストボックスからファイルを取り出し
    Dim myFileName(19) As String
    Dim FileCount      As Long
    Dim N              As Integer
    '日付の新しい方から20個を取り出し
    If List1.ListCount > 0 Then
        For FileCount = List1.ListCount - 1 To 0 Step -1
            myFileName(N) = Trim$(Mid$(List1.List(FileCount), 20, _
                                   Len(List1.List(FileCount)) - 19))
            N = N + 1
            If N = 20 Then Exit For
        Next FileCount
    End If
    
    '取り出したファイルを表示
    Dim i As Long
    For i = 0 To 19
        Debug.Print myFileName(i)
    Next i
End Sub
Private Sub Form_Load()
    'List1.Sorted = True   別途プロパティで設定して下さい
    List1.Visible = False
End Sub

投稿時間:2003/02/16(Sun) 20:31
投稿者名:hou
URL :
タイトル:
Re^2: 画像を読み込みピクチャーボックスに表示
> > 1.画像は、作成時間の新しい順に20枚のみ表示させる。

>  ファイルBOXは使わずに、FileSystemObject等を利用して
  ご指摘があってように別の方法も勉強していきたいと考えております。 

> ひとつのピクチャーボックスに1枚づつ表示したいのでしょうか?
 カタログ状に縮小させ20枚ほど表示したいと考えております。

> > 2.作成フォームの大きさで起動する。

> フォームは最大化で表示していますがピクチャーボックスはサイズを指定いますし
 とりあえず、実行時は最大化で動かし、プログラム実行時にvbminimamuで小さく
 表示させ横五枚縦4枚のカタログ状に表示させております。
 思ったとおりの表示をさせるには、まだかなりの勉強が必要と考えております。

> 勉強したいならコピー&ペーストせずにプログラムを自分で書いて下さい。
  helpを見てもなかなか理解出来ない場合が多いのでつい質問してしまいました。
 もし、よろしければお勧めの書籍でも教えていただければ幸いです。
 それからソートのソース転送ありがとうございました。
 これから、勉強したいと考えております。

投稿時間:2003/02/16(Sun) 21:28
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 画像を読み込みピクチャーボックスに表示
>   helpを見てもなかなか理解出来ない場合が多いのでつい質問してしまいました。
ヘルプを見て解らない時は遠慮せず掲示板に質問して下さい。但し、ヘルプにこのように
書いてあったのですがよく理解できません。のようにヘルプを調べた旨書き添えて下さい。

>  もし、よろしければお勧めの書籍でも教えていただければ幸いです。
本よりもヘルプを見るようにして下さい。又、WEBで検索しても色々解りますよ。調べた事は
ここの[VB簡易リフォレンス]のように書きとめて置くようにして下さい。
私も最初は(今でも)ヘルプのヘルプが必要でした。それで色々書きとめておいたのをホームページ
に掲載したのがこのサイトの始りです。