通过filedialog如何得到文件名 c:\\1.txt ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //CFileDialog的使用例:先在使用文件对话框的类的类定义文件中加入对象定义CFileDialog m_MyOpenDialog(TRUE,"avi","*.avi");随后,在需要使用该对话框的地方加入以下语句: m_MyOpenDialog.Domodal(); 就可以预览所有.avi文件.其调用规则为: 函数原型: CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPR OMPT,LPCTSTR lpszFilter=NULL,CWnd * pParentWnd=NULL); 参数说明: bOpenFileDialog:为TRUE或FALSE。TRUE为打开文件;FALSE为保存文件。 lpszDefExt :为缺省的扩展名。 lpszFileName :为显示在文件名组合框的编辑框的文件名,一般可选NULL dwFlags :为对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,即隐藏只读选项和覆盖已有文件前提示。 LpszFilter :为下拉列表枢中显示文件类型。 pParentWnd :一般可选NULL。 例如:在文件类型列表框的编辑框要显示“可执行文件(*.exe)”,而在它的下拉列表框中列出“视频文件(*.avi)、All Files(*.*)”内容,则变量定义如下:CFileDialog m_MyOpenDialog(TRUE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.bat) | *.bat |All Files (*.*) | *.* ||",NULL);注:没有*.*后的||显示时会多出一个空行.成员函数:CFileDialog::GetPathName //得到带路径的文件名CFileDialog::GetFileName //得到文件名CFileDialog::GetFileExt //得到扩展名CFileDialog::GetFileTitle //得到不带扩展名的文件名例:void CDemoDlg::OnSave() {CFileDialog fd(FALSE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.dat) | *.dat |All Files (*.*) | *.* ||",NULL);if(fd.DoModal()==IDOK){CFile f;f.SetFilePath(fd.GetPathName());CString str;str.Format("The Path is %s .",f.GetFileName());MessageBox((LPCTSTR)str);f.Open((LPCTSTR)f.GetFileName(),CFile::modeCreate|CFile::modeReadWrite);f.Close();}} CFileDialog dlg(TRUE,"",NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter); if (dlg.DoModal() == IDOK) { CString szFileName = dlg.GetFileName(); }szFileName就是你要的东西 我想得到c:\\1.txt而dlg.GetPathName()得到的是c:\1.txt 如何得到文件名为C:\\FOO.DAT 问关于MultiByteToWideChar()的问题 有几个参数不懂(高分 问题也比较多) 散分200 元旦快乐 VC视图中文本显示问题 rtp包头里的那个PT的各个值的意义是什么?哪里有资料? 在HOOK返回的虚拟键中,怎样得到CTRL、ALT、SHIFT键是否按下? 怎样把一个窗口最小化变成右下脚的一个图标?大家救我啊 基于c++ corba高级编程 哪里有下载 arc()函数的各个参数的意义 十分古怪的问题 - 关于响应消息 如何实现在dll中使用串口控件mscomm? 内存泄漏需要急救啊,大哥,救命啊!!!!!!!!!!!!!!!!! 请教:对话框问题!
例:
先在使用文件对话框的类的类定义文件中加入对象定义CFileDialog m_MyOpenDialog(TRUE,"avi","*.avi");随后,在需要使用该对话框的地方加入以下语句:
m_MyOpenDialog.Domodal();
就可以预览所有.avi文件.
其调用规则为:
函数原型:
CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPR OMPT,LPCTSTR lpszFilter=NULL,CWnd * pParentWnd
=NULL);
参数说明:
bOpenFileDialog:为TRUE或FALSE。TRUE为打开文件;FALSE为保存文件。
lpszDefExt :为缺省的扩展名。
lpszFileName :为显示在文件名组合框的编辑框的文件名,一般可选NULL
dwFlags :为对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,即隐藏只读选项和覆盖已有文件前提示。
LpszFilter :为下拉列表枢中显示文件类型。
pParentWnd :一般可选NULL。
例如:在文件类型列表框的编辑框要显示“可执行文件(*.exe)”,而在它的下拉列表框中列出“视频文件(*.avi)、All Files(*.*)”内容,则变量定义如下:CFileDialog m_MyOpenDialog(TRUE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.bat) | *.bat |All Files (*.*) | *.* ||",NULL);注:没有*.*后的||显示时会多出一个空行.
成员函数:
CFileDialog::GetPathName //得到带路径的文件名
CFileDialog::GetFileName //得到文件名
CFileDialog::GetFileExt //得到扩展名
CFileDialog::GetFileTitle //得到不带扩展名的文件名例:
void CDemoDlg::OnSave()
{
CFileDialog fd(FALSE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.dat) | *.dat |All Files (*.*) | *.* ||",NULL);
if(fd.DoModal()==IDOK)
{
CFile f;
f.SetFilePath(fd.GetPathName());
CString str;
str.Format("The Path is %s .",f.GetFileName());
MessageBox((LPCTSTR)str);
f.Open((LPCTSTR)f.GetFileName(),CFile::modeCreate|CFile::modeReadWrite);f.Close();
}
}
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
szFilter);
if (dlg.DoModal() == IDOK)
{
CString szFileName = dlg.GetFileName();
}
szFileName就是你要的东西
而dlg.GetPathName()得到的是c:\1.txt
C:\\FOO.DAT