●リッチファイル選択

情報

作者名:YouTubeダウンロードし放題
引用元:なし

概要

「ファイル選択」命令よりリッチな感じの「ファイルを開く」ダイアログを生成できます

ダウンロード


サンプル

「すべてのファイル (*.*),*.*
テキストファイル (*.txt),*.txt」を「C:\」でリッチファイル選択
それを表示

本体

●リッチファイル選択({配列}フィルタ一覧を初期ディレクトリで)
 ファイル名とは文字列
 フィルタとは文字列
 OpenFileName構造体とは文字列
 OpenFileNameグループとはOPENFILENAME
 ファイル名にMAX_PATHを確保
 フィルタ一覧で反復
  フィルタに「{対象[0]}{\0}{対象[1]}{\0}」を追加
 フィルタに"{\0}"を追加
 OpenFileNameグループについて
  hwndOwner       = 母艦ハンドル
  hInstance       = インスタンスハンドル
  lpstrInitialDir = POINTER(初期ディレクトリ)
  lpstrFilter     = POINTER(フィルタ)
  lpstrFile       = POINTER(ファイル名)
  nMaxFile        = MAX_PATH
  lpstrTitle      = POINTER("ファイルを開く")
  Flags           = OFN_FILEMUSTEXIST
 PACK(OpenFileNameグループ,OpenFileName構造体,OPENFILENAME型)
 もし、GetOpenFileName(POINTER(OpenFileName構造体))ならば
  ファイル名=ファイル名から"{\0}"まで切り取る
  ファイル名で戻る
 空で戻る
●GetOpenFileName(lpofn) =DLL("comdlg32.dll",
"BOOL GetOpenFileNameA(
  LPOPENFILENAME lpofn   // 初期化データ
)")
!MAX_PATH = 260;
!OFN_ALLOWMULTISELECT     = 512;
!OFN_CREATEPROMPT         = $2000;
!OFN_ENABLEHOOK           = 32;
!OFN_ENABLESIZING         = $800000;
!OFN_ENABLETEMPLATE       = 64;
!OFN_ENABLETEMPLATEHANDLE = 128;
!OFN_EXPLORER             = $80000;
!OFN_EXTENSIONDIFFERENT   = $400;
!OFN_FILEMUSTEXIST        = $1000;
!OFN_HIDEREADONLY         = 4;
!OFN_LONGNAMES            = $200000;
!OFN_NOCHANGEDIR          = 8;
!OFN_NODEREFERENCELINKS   = $100000;
!OFN_NOLONGNAMES          = $40000;
!OFN_NONETWORKBUTTON      = $20000;
!OFN_NOREADONLYRETURN     = $8000;
!OFN_NOTESTFILECREATE     = $10000;
!OFN_NOVALIDATE           = 256;
!OFN_OVERWRITEPROMPT      = 2;
!OFN_PATHMUSTEXIST        = $800;
!OFN_READONLY             = 1;
!OFN_SHAREAWARE           = $4000;
!OFN_SHOWHELP             = 16;
!OFN_SHAREFALLTHROUGH     = 2;
!OFN_SHARENOWARN          = 1;
!OFN_SHAREWARN            = 0;

!OPENFILENAME型 = "DWORD,HWND,HINSTANCE,LPCTSTR,LPTSTR,DWORD,DWORD,LPTSTR,DWORD,LPTSTR,DWORD,LPCTSTR,LPCTSTR,DWORD,WORD,WORD,LPCTSTR,DWORD,LPOFNHOOKPROC,LPCTSTR,LPVOID,DWORD,DWORD";
■OPENFILENAME
 ・{整数}lStructSize{=88}
 ・{整数}hwndOwner
 ・{整数}hInstance
 ・{整数}lpstrFilter
 ・{整数}lpstrCustomFilter
 ・{整数}nMaxCustFilter
 ・{整数}nFilterIndex
 ・{整数}lpstrFile
 ・{整数}nMaxFile
 ・{整数}lpstrFileTitle
 ・{整数}nMaxFileTitle
 ・{整数}lpstrInitialDir
 ・{整数}lpstrTitle
 ・{整数}Flags
 ・{整数}nFileOffset
 ・{整数}nFileExtension
 ・{整数}lpstrDefExt
 ・{整数}lCustData
 ・{整数}lpfnHook
 ・{整数}lpTemplateName
 // 拡張
 ・{整数}pvReserved
 ・{整数}dwReserved
 ・{整数}FlagsEx

総合: -
今日: -
昨日: -
名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2012年07月19日 03:51
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。