TNB Library
公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CFileDialogEx クラス

ファイル選択コモンダイアログ [詳解]

#include <TnbMfcFileDialogEx.h>

+ CFileDialogEx の継承関係図

公開メンバ関数

 CFileDialogEx (BOOL bOpenFileDialog, LPCTSTR lpszDefExt=NULL, LPCTSTR lpszFileName=NULL, DWORD dwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter=NULL, CWnd *pParentWnd=NULL, BOOL bVistaStyle=FALSE)
 コンストラクタ [詳解]
 
CString GetPathName (void) const
 [取得] 選択フルパス名取得. [詳解]
 
INT_PTR GetPathNames (CStringArray &_astrNames)
 [取得] 選択フルパス名取得. [詳解]
 
void SetInitialPath (LPCTSTR lpszPath)
 [設定] 最初のディレクトリ指定. [詳解]
 

限定公開メンバ関数

virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

詳解

ファイル選択コモンダイアログ

文字列管理バッファを拡張します。
複数選択を行なう際に有効。
使用例 - 保存先ファイルを指定したい場合
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
LPCTSTR lpszFilter = _T("FISIDファイル (*.fisid)|*.fisid|すべてのファイル (*.*)|*.*||");
CFileDialogEx d(FALSE, _T("*.fisid"), _T(""), dwFlags, lpszFilter, this);
if ( d.DoModal() != IDOK )
{
return;
}
CString fileName = d.GetPathName();
:
CFileDialogEx(BOOL bOpenFileDialog, LPCTSTR lpszDefExt=NULL, LPCTSTR lpszFileName=NULL, DWORD dwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter=NULL, CWnd *pParentWnd=NULL, BOOL bVistaStyle=FALSE)
コンストラクタ
使用例 - 読込元ファイルを指定したい場合
DWORD dwFlags = OFN_HIDEREADONLY;
LPCTSTR lpszFilter = _T("FISIDファイル (*.fisid)|*.fisid|すべてのファイル (*.*)|*.*||");
CFileDialogEx d(TRUE, _T("*.fisid"), _T(""), dwFlags, lpszFilter, this);
if ( d.DoModal() != IDOK )
{
return;
}
CString fileName = d.GetPathName();
:
注意
VC++6 の環境で、SDK を入れている場合、 CFileDialog がヘッダとランタイムで ずれが発生してしまうため、最初に TnbHotWinver.h をインクルードしてください。
必要ファイル
TnbMfcFileDialogEx.h
日付
06/12/01 新規作成
10/01/18 コメント追加
10/04/19 右下のリサイズボックスをHIDEにするようにした。
10/07/12 ある条件でデストラクタで例外が発生する件を修正。
14/05/25 SetInitialPath() を新規追加!

TnbMfcFileDialogEx.h172 行目に定義があります。

構築子と解体子

◆ CFileDialogEx()

CFileDialogEx ( BOOL  bOpenFileDialog,
LPCTSTR  lpszDefExt = NULL,
LPCTSTR  lpszFileName = NULL,
DWORD  dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR  lpszFilter = NULL,
CWnd pParentWnd = NULL,
BOOL  bVistaStyle = FALSE 
)

コンストラクタ

引数
bOpenFileDialog[ファイルを開く] ダイアログ ボックスを構築するときは TRUE、 [ファイル名を付けて保存] ダイアログ ボックスを構築するときは FALSE を設定します。
lpszDefExt既定のファイル拡張子。ファイル名用のエディット ボックスに、 ユーザーが拡張子を付けずにファイル名を入力したときは、 lpszDefExt に指定した拡張子が自動的にファイル名に追加されます。 このパラメータに NULL を指定すると、拡張子は追加されません。
lpszFileNameファイル名用のエディット ボックスに初期表示されるファイル名。 NULL を指定すると、何も表示されません。
dwFlagsダイアログ ボックスをカスタマイズするためのフラグの 1 つ以上組み合わせ。
シンボル内容
OFN_READONLY 読みとり専用のチェックの設定・取得
OFN_OVERWRITEPROMPT重ね書きの確認ダイアログの表示
OFN_HIDEREADONLY読みとり専用チェックボックスを表示しない
OFN_NOCHANGEDIRカレントディレクトリを変更しない
OFN_SHOWHELPヘルプボタンを表示する
OFN_ENABLEHOOKフック関数を使う
OFN_ENABLETEMPLATEダイアログテンプレートを使う
OFN_ENABLETEMPLATEHANDLEダイアログテンプレートハンドルを使う
OFN_NOVALIDATE不正ファイル名を許可(フック関数使用時)
OFN_ALLOWMULTISELECT複数ファイルの選択可。パスと各ファイル名は空白で区切られる
OFN_EXTENSIONDIFFERENTユーザがlpstrDefExtと異なる拡張子を入力した
OFN_PATHMUSTEXIST不正確なパス入力を警告するダイアログを表示する
OFN_FILEMUSTEXIST既存のファイルのみの入力を許す
OFN_CREATEPROMPT新しいファイルを作成するのかを確認する
OFN_SHAREAWAREネットワークシェア違反のファイル名も許す
OFN_NOREADONLYRETURN返されたファイルは読みとり専用ではない
OFN_NOTESTFILECREATEネットワーク関連(戻り値)
OFN_NONETWORKBUTTONネットワークボタンを隠す
OFN_NOLONGNAMES長い名前を使わない
OFN_EXPLORERエクスプローラ風の外観
OFN_NODEREFERENCELINKSショートカットファイルをそのまま返す
lpszFilterファイルを特定するためのフィルタを指定する文字列の組み合わせ。 フィルタを指定すると、[ファイル名] ボックスには選択されたファイルだけが表示されるようになります。
pParentWnd親ウィンドウまたはオーナー ウィンドウへのポインタ。
bVistaStyleTRUE なら VISTAスタイルで表示。

TnbMfcFileDialogEx.h240 行目に定義があります。

関数詳解

◆ GetPathName()

CString GetPathName ( void  ) const

[取得] 選択フルパス名取得.

覚え書き
複数選択( OFN_ALLOWMULTISELECT フラグ)をつけた場合、 GetPathNames() を使用してください。
戻り値
フルパス。

TnbMfcFileDialogEx.h291 行目に定義があります。

◆ GetPathNames()

INT_PTR GetPathNames ( CStringArray &  _astrNames)

[取得] 選択フルパス名取得.

覚え書き
複数選択( OFN_ALLOWMULTISELECT フラグ)をつけた場合、これで選択したファイル、全部のフルパスが取得できます。
引数
[out]_astrNames選択文字列
戻り値
選択ファイル数。

TnbMfcFileDialogEx.h275 行目に定義があります。

◆ SetInitialPath()

void SetInitialPath ( LPCTSTR  lpszPath)

[設定] 最初のディレクトリ指定.

引数
lpszPathディレクトリ
戻り値
選択ファイル数。

TnbMfcFileDialogEx.h263 行目に定義があります。

◆ WindowProc()

virtual LRESULT WindowProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
protectedvirtual

[通知] for processing Windows messages.

メッセージ受信したらコールされます。これをオーバーライドして処理を追加します。

引数
messageメッセージ
wParamWPARAM
lParamLPARAM
戻り値
リザルト。

TnbMfcFileDialogEx.h306 行目に定義があります。