「ファイルを開く」、「ファイル保存」ダイアログボックスについての情報を管理します。
hwndOwner
hInstance
lpstrFilter
lpstrCustomFilter
nMaxCustFilter
nFilterIndex
lpstrFile
nMaxFile
lpstrFileTitle
nMaxFileTitle
lpstrInitialDir
lpstrTitle
Flags
nFileOffset
nFileExtension
lpstrDefExt
lCustData
lpfnHook
lpTemplateName
環境情報
インクルード ファイル: api_commdlg.sbp 内で定義済み
定義
Type OPENFILENAME
lStructSize As DWord
hwndOwner As HWND
hInstance As HINSTANCE
lpstrFilter As BytePtr
lpstrCustomFilter As BytePtr
nMaxCustFilter As DWord
nFilterIndex As DWord
lpstrFile As BytePtr
nMaxFile As DWord
lpstrFileTitle As BytePtr
nMaxFileTitle As DWord
lpstrInitialDir As BytePtr
lpstrTitle As BytePtr
Flags As DWord
nFileOffset As Word
nFileExtension As Word
lpstrDefExt As BytePtr
lCustData As DWord
lpfnHook As VoidPtr
lpTemplateName As BytePtr
End Type
lStructSize
構造体のサイズを指定します。
ダイアログボックスを所有するウィンドウのハンドルを指定します。
Flags メンバに OFN_ENABLETEMPLATEHANDLE フラグが設定されているときには、ダイアログボックスのテンプレートを含むメモリオブジェクトへのハンドルを指定します。
OFN_ENABLETEMPLATE フラグが設定されているときには、lpTemplateName メンバが示す名前のダイアログボックスのテンプレートを含むメモリオブジェクトへのハンドルを指定します。
どちらも設定されていない場合、このメンバは無視されます。
ファイル フィルターを NULL で終わる文字列で指定します。NULL を指定すると、ダイアログボックスのフィルター文字列にはなにも表示されません。ファイル フィルターは2つで1組になっており、以下のような構造をしています。
"ファイルタイプの説明" + Chr$(0) + "パターン文字列" + ... + Chr$(0) + Chr$(0)
例:"ビットマップ ファイル(*.bmp)" + Chr$(0) + "*.bmp" + Chr$(0) + "すべてのファイル(*.*)" + Chr$(0) + "*" + Chr$(0) + Chr$(0)
ユーザーによって選択されたファイル フィルター文字列のペアが保存されます。
カスタム ファイル フィルターを作成しない場合は NULL を指定します。
NULL でない場合は、nMaxCustFilter メンバに lpstrCustomFilter メンバのバッファ サイズを指定しておく必要があります。
lpstrCustomFilter メンバのバッファ サイズを指定します。
フィルターの初期インデックスを指定します。ユーザーがファイルを選択した場合には、表示されていたフィルターのインデックスが保存されます。
文字列バッファを指定します。
指定したバッファの内容が、「ファイル名」エディット コントロールに表示されます。
ユーザーがファイルを選択すると、このバッファにファイル パスが格納されます。
lpstrFile メンバのバッファ サイズを指定します。
選択されたファイルの名前、および拡張子を保存するための文字列バッファを指定します。必要でない場合は NULL を指定することができます。
lpstrFileTitle メンバのバッファ サイズを指定します。
初期ディレクトリのパスを指定します。ディレクトリ設定が必要でない場合は、NULL を指定することができます。
[WindowNT以降、Windows98以降]: NULL を指定し、なおかつ指定したファイル フィルターに適するファイルがカレントディレクトリに存在する場合はカレントディレクトリが初期ディレクトリになります。存在しない場合は、ユーザーの個人ディレクトリ(マイ ドキュメント)が初期ディレクトリに設定されます。
[それ以外のOS]: NULL を指定すると、カレントディレクトリが初期ディレクトリに設定されます。
ダイアログボックスのタイトルバーに表示する文字列を指定します。NULL を指定すると、システムのデフォルトのタイトルが設定されます。
ダイアログボックスの初期化フラグを、以下の定数を組み合わせて指定します。
定数 説明 OFN_ALLOWMULTISELECT リストボックス内で、複数のファイルを選択できるようになります。 OFN_CREATEPROMPT ユーザーが存在しないファイルを選択しようとしたときに、確認のためのダイアログを表示します。 OFN_ENABLEHOOK lpfnHook メンバで指定されたフック関数へのポインタを使用可能にします。 OFN_ENABLETEMPLATE lpTemplateName メンバと hInstance メンバで指定されるダイアログ テンプレートを利用してダイアログボックスを作成します。 OFN_ENABLETEMPLATEHANDLE ロードされたダイアログ テンプレートを含むデータ ブロックを、hInstance メンバが示すことを意味します。lpTemplateName メンバは無視されます。 OFN_EXPLORER 作成するダイアログ ボックスをエクスプローラ風にします。 OFN_EXTENSIONDIFFERENT ユーザーが lpstrDefExt メンバで指定されている拡張子とは異なる拡張子を入力したことを示します。 OFN_FILEMUSTEXIST ユーザーが存在しないファイルを選択できないようにします。 OFN_HIDEREADONLY 「書き込み禁止(Read Only)」チェック ボックスを非表示にします。 OFN_LONGNAMES 長いファイル名を使うようにします。 OFN_NOCHANGEDIR ユーザーがファイル選択のためにディレクトリを移動しても、カレントディレクトリが変更されないようにします。 OFN_NODEREFERENCELINKS ショートカット ファイル(*.lnk)が選択された場合、そのショートカット ファイル自体のパスを取得します。このフラグを指定しない場合は、ショートカットのリンク先のパスを取得することになります。 OFN_NOLONGNAMES 短いファイル名を使うようにします。エクスプローラスタイルのダイアログ ボックスでは、このフラグは無視されます。 OFN_NONETWORKBUTTON 「ネットワーク」ボタンを非表示にします。 OFN_NOREADONLYRETURN 取得したファイルが読み取り専用ファイル、または読み取り専用ディレクトリ内のファイルでないことを示します。 OFN_NOTESTFILECREATE ダイアログ ボックスが閉じられた後にファイルを作成するようにします。 OFN_NOVALIDATE ファイル名に無効な文字を使用できることを示します。 OFN_OVERWRITEPROMPT ユーザーが選択したファイルがすでに存在するとき、上書きの確認を行います。 OFN_PATHMUSTEXIST ユーザーが無効なパスやディレクトリを入力したとき、警告メッセージを表示するようにします。 OFN_READONLY ダイアログ ボックスの初期表示で、「読み取り専用」チェック ボックスをチェックします。また、ダイアログ ボックスを閉じたときに、「読み取り専用」チェック ボックスがチェックされていることを示します。 OFN_SHAREWARE ネットワークの共有違反でOpenFile関数が失敗した場合でも、エラーを無視してファイル名を取得するようにします。 OFN_SHOWHELP ヘルプボタン[?]を表示します。
lpstrFile メンバが示すパス内の、ファイル名の位置が、バッファの先頭から何バイト目であるかを示します。
lpstrFile メンバが示すパス内の、拡張子の位置が、バッファの先頭から何バイト目であるかを示します。
デフォルト拡張子の文字列を示します。
lpfnHook メンバが示すフック プロシージャへ渡すデータを指定します。
フック プロシージャへのポインタを指定します。Flags メンバに OFN_ENABLEHOOK フラグが含まれていない場合、このメンバは無視されます。
hInstance メンバが示すモジュール内にあるダイアログ テンプレートを指定します。Flags メンバに OFN_ENABLETEMPLATE フラグが含まれていない場合、このメンバは無視されます。
GetOpenFileName関数、GetSaveFileName関数