ダイアログボックスの複数選択
Posted: 2006年10月23日(月) 11:08
よろしくお願いします。
選択したファイルが1つの場合は「lpstrFile」にフルパスが格納
されているようですが、複数選択したそれぞれのファイルのフルパスは
下記のコードではうまくメッセージボックスでそれぞれ表示されません。
目的は表示そのものではなく、選択した複数のファイルを任意の場所に
読み書きしたいのですが、この段階でつまずいています。
'OPENFILENAME構造体の初期化
Dim ofn As OPENFILENAME
Dim FileName[MAX_PATH] As Byte,FN1[MAX_PATH] As Byte
FillMemory(VarPtr(ofn),Len(ofn),0)
ofn.lpstrInitialDir="D:"
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=hMainWnd
ofn.lpstrFilter=Ex" 全てのデータ\0*.*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=FileName
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle="ファイルの選択"
ofn.Flags=OFN_ALLOWMULTISELECT OR OFN_OVERWRITEPROMPT or OFN_EXPLORER or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
ofn.lpstrDefExt="*"
'「ファイルの選択」ダイアログ ボックスを表示
If GetOpenFileName(ofn)=0 Then Exit Sub
MessageBox(0,FileName,"",MB_OK)
選択したファイルが1つの場合は「lpstrFile」にフルパスが格納
されているようですが、複数選択したそれぞれのファイルのフルパスは
下記のコードではうまくメッセージボックスでそれぞれ表示されません。
目的は表示そのものではなく、選択した複数のファイルを任意の場所に
読み書きしたいのですが、この段階でつまずいています。
'OPENFILENAME構造体の初期化
Dim ofn As OPENFILENAME
Dim FileName[MAX_PATH] As Byte,FN1[MAX_PATH] As Byte
FillMemory(VarPtr(ofn),Len(ofn),0)
ofn.lpstrInitialDir="D:"
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=hMainWnd
ofn.lpstrFilter=Ex" 全てのデータ\0*.*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=FileName
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle="ファイルの選択"
ofn.Flags=OFN_ALLOWMULTISELECT OR OFN_OVERWRITEPROMPT or OFN_EXPLORER or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
ofn.lpstrDefExt="*"
'「ファイルの選択」ダイアログ ボックスを表示
If GetOpenFileName(ofn)=0 Then Exit Sub
MessageBox(0,FileName,"",MB_OK)