CFileDialog
构造函数:
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
bOpenFileDialog:值为true,则为打开对话框;为false,则为保存对话框。
lpszDefExt :默认文件扩展名。
lpszFileName :默认文件名。
dwFlags :对话框风格。
lpszFilter :指明可供选择的文件类型和相应的扩展名。例如:"Excel files(*.xls;*.xlc)|*.xls;*.xlc|All files(*.*)|*.*||"
pParentWnd:父窗口指针。
成员函数:
CString CFileDialog::GetPathName( ) 得到完整的文件名(完整路径)。
CString CFileDialog::GetFileName( ) 得到完整的文件名(带文件扩展名)。
CString CFileDialog::GetExtName( ) 得到完整的文件扩展名(文件扩张名)。
CString CFileDialog::GetFileTitle ( ) 得到完整的文件名(只是文件标题)。
POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。
CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。
可以使用Windows CommDlgExtendError函数判断在初始化对话框时是否是发生了错误,并获取关于错误的更多信息。
dwFlags 风格介绍:
OFN_ALLOWMULTISELECT 多个文件选择。
OFN_CREATEPROMPT 如果文件不存在就创建文件(创建快捷键)。
OFN_PATHMUSTEXIST 文件路径必须存在。
OFN_FileMUSTEXIST 文件必须存在。
OFN_READONLY 以只读方式打开()。
OFN_SHOWHELP 显示帮助按钮。
m_ofn 成员介绍:
lpstrTitle 设置对话框标题。
lpstrInitialDir 对话框初始路径。
lpstrFile 在多个文件选择的情况下,设置一个临时缓冲区存储文件的路径。
nMaxFile 指定lpstrFile缓冲的大小,以TCHARs为单位。对于ANSI版本,是字节的个数;对于 Unicode版本,是字符的个数。
for example:
void SelectFile()
{
CFileDialog dlg(true,"txt",NULL,OFN_ALLOWMULTISELECT,"Excel files(*.xls;*.xlc)|*.xls;*.xlc|All files(*.*)|*.*||");
char ch[4096] = "/0";
dlg.m_ofn.lpstrFile = ch;
dlg.m_ofn.nMaxFile = 4096;
if(IDOK == dlg.DoModal())
{
POSITION pos = dlg.GetStartPosition();
while(pos)
{
CString str = dlg.GetNextPathName(pos);
MessageBox(NULL,str,"操作提示",MB_OK);
}
}
}