CFileDialog::DoModal
ファイル操作用の Windows のコモン ダイアログ ボックスを表示し、ユーザーが、ファイルやディレクトリを参照したりファイル名を入力したりできるようにします。
virtual INT_PTR DoModal( );
戻り値
IDOK または IDCANCEL を返します。 IDCANCEL が返された場合は、エラーが発生したかどうかを Windows の CommDlgExtendedError 関数で調べることができます。
IDOK は [OK]、IDCANCEL は [キャンセル] がクリックされたことを示す定数です。
解説
ファイル操作用のダイアログ ボックスの各種オプションを初期設定する場合は、ダイアログ オブジェクトを構築してから m_ofn 構造体のメンバーを設定し、その後で DoModal を呼び出します。
たとえば、ユーザーが複数のファイルを選択できるようにする場合、DoModal を呼び出す前に OFN_ALLOWMULTISELECT フラグを設定します。CFileDialog クラスのコード例を参照してください。
ユーザーがダイアログ ボックスの [OK] ボタンまたは [キャンセル] ボタンをクリックするか、ダイアログ ボックスのコントロール メニューの [閉じる] をクリックすると、ダイアログ ボックスが閉じ、制御がアプリケーションに戻ります。 この場合、ダイアログ ボックスにユーザーが入力した設定値や情報を取り出すには、ほかのメンバー関数を呼び出します。
DoModal は、CDialog クラスからオーバーライドされた仮想関数です。
使用例
void CMyClass::OnFileOpen()
{
// szFilters is a text string that includes two file name filters:
// "*.my" for "MyType Files" and "*.*' for "All Files."
TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");
// Create an Open dialog; the default file name extension is ".my".
CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);
// Display the file dialog. When user clicks OK, fileDlg.DoModal()
// returns IDOK.
if(fileDlg.DoModal() == IDOK)
{
CString pathName = fileDlg.GetPathName();
// Implement opening and reading file in here.
//Change the window's title to the opened file's title.
CString fileName = fileDlg.GetFileTitle();
SetWindowText(fileName);
}
}
必要条件
**ヘッダー:**afxdlgs.h