GetOpenFileName |
Declare Function Api_GetOpenFileName& Lib "comdlg32" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) |
Declare Function GetOpenFileName Lib "comdlg32" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long |
|
[ファイルを開く]ダイアログボックスを作成する。ユーザーはこのダイアログボックスで、開きたい 1 つまたは複数のファイルのドライブ、ディレクトリ、名前を指定できる。 |
|
パラメータ
GetOpenFileName 関数から制御が返ると、この構造体に、ユーザーが選択したファイルに関する情報が格納される。
このとき、OPENFILENAME 構造体の lpstrFile メンバは、ユーザーが選択したフルパスおよびファイル名を保持する。
CommDlgExtendedError 関数を使う。この関数は、次の値のいずれかを返すことがある。 ボックスを既定で表示する。「エクスプローラ」スタイルの[ファイルを開く]ダイアログボックス用のフックプロシージャ OFNHookProc を提 供することもできる。このフックプロシージャを有効にするには、OPENFILENAME 構造体の Flags メンバ内で CC_ENABLEHOOK フラグ
をセットし、lpfnHook メンバでそのフックプロシージャのアドレスを指定する。 ケーション用に、古いスタイルの[ファイルを開く]ダイアログボックスを引き続きサポートする。古いスタイルの[ファイルを開く]ダイアログボ ックスを表示するには、フックプロシージャ OFNHookProcOldStyle を有効にし、OFN_EXPLORER フラグをクリアする。ユーザーにファイル
ではなくディレクトリの選択を求めるダイアログボックスを表示するには、SHBrowseForFolder 関数を呼び出す。 ィングシステムでアプリケーションを実行するときに問題を引き起こすことになる。アプリケーションが Windows 95/98 および Windows NT 4.0 で現在のヘッダーを使うには、#define "/D_WIN32_WINNT=0x0400" と記述するか、OPENFILENAME の lStructSize メンバ で OPENFILENAME_SIZE_VERSION_400 をセットする。 |