社区
C++ 语言
帖子详情
请问如何在mfc基于对话框中实现打开文件这个功能?
grmoney
2007-09-06 07:32:15
要求:我新建一个button按钮。。然后我点击他就弹出我们平时打开文件的对话框。。上面有目录。。然后我选择文件(要求txt的)。。然后我读取了这个文件并显示在另一个edit框中。。。。。。。请问怎么实现。。新手刚学mfc。望高手指点。。。请详细说明。。不要给我帖一段代码。。。。谢谢
...全文
712
8
打赏
收藏
请问如何在mfc基于对话框中实现打开文件这个功能?
要求:我新建一个button按钮。。然后我点击他就弹出我们平时打开文件的对话框。。上面有目录。。然后我选择文件(要求txt的)。。然后我读取了这个文件并显示在另一个edit框中。。。。。。。请问怎么实现。。新手刚学mfc。望高手指点。。。请详细说明。。不要给我帖一段代码。。。。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
grmoney
2007-09-06
打赏
举报
回复
谢谢各位了。。结帖了。。。
lfcai
2007-09-06
打赏
举报
回复
学习下~~~~~~~~~
jhs1982419
2007-09-06
打赏
举报
回复
我是这么做的,你可以借鉴下.
char path[MAX_PATH];; //用来存储路径的字符串
BROWSEINFO bi;//接收用户所选择的文件夹的参数信息
//ZeroMemory(&bi, sizeof(bi));//清空bInfo在内存中的空间,全部置零
bi.hwndOwner = AfxGetApp()->m_pMainWnd->GetSafeHwnd();//得到对话框父窗口的句柄
//CImageRetrievalApp* pApp = (CImageRetrievalApp*) AfxGetApp();//需要进行类型转换
//bi.hwndOwner = pApp->GetMainWnd()->GetSafeHwnd();//GetMainWnd()所得到的就是m_pMainWnd
bi.pidlRoot = NULL;
bi.pszDisplayName = path;
bi.lpszTitle = _T("请选择进行检索的图像库: ");//在对话框中显示字符
bi.ulFlags = BIF_EDITBOX|BIF_RETURNONLYFSDIRS; //增加一个编辑控件,用户可以在里面直接输入路径条目
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
LPITEMIDLIST pidl; //用来保存返回信息的IDList
pidl = SHBrowseForFolder(&bi) ; //显示一可以使用户选择文件夹的对话框,返回值为LPITEMIDLIST类型
if(pidl != NULL) //用户按了确定按钮
{
pView->m_JiShu = 0;
pView->m_Seek_ListCtrl.DeleteAllItems();//以前检索的所有的图像列表全部清空
// pView->Seekimagepath = "";//清空显示图像
pView->Seekimage.load(" null.jpg");
for (int i=0;i<32;i++)//清空最前面图像的显示
{
pView->SelectImage[i].load(" null.jpg");
}
SHGetPathFromIDList(pidl, path);//把项目标识列表转化成字符串
FilePath = path; //将CHAR类型的字符串转换为CString类型的字符串
FilePath += "\\"; //在路径后好加上文件的名字
}
CHAR szFind[MAX_PATH];
lstrcpy(szFind, FilePath);
lstrcat(szFind, "*.jpg"); // 找所有jpg文件
//hFind = FindFirstFile(szFind, &FileData);
//if (FindFirstFile(szFind, &FileData) == INVALID_HANDLE_VALUE)
if((pView->hFind = FindFirstFile(szFind, &(pView->FileData))) == INVALID_HANDLE_VALUE)
{
pView->MessageBox("该文件夹中没有jpg图像,请重新选择");
return ;
}
bi.iImage = 0;
LPITEMIDLIST pidl; //用来保存返回信息的IDList
pidl = SHBrowseForFolder(&bi) ; //显示一可以使用户选择文件夹的对话框,返回值为LPITEMIDLIST类型
gfxiang
2007-09-06
打赏
举报
回复
假设你已经为edit控件定义了一个CString类型的成员变量m_str关联起来
那button的click消息处理函数里,加入如下代码
CFileDialog dlg(TRUE, ".txt", NULL, 0, "Text Files (*.txt)|*.txt|All Files(*.*)|*.*||");
if (dlg.DoModal() == IDOK)
{
m_str = dlg.GetPathName();
UpdateData(FALSE);
}
jixingzhong
2007-09-06
打赏
举报
回复
http://www.vckbase.com/document/viewdoc/?id=1419
看看这个也许有帮助...
jixingzhong
2007-09-06
打赏
举报
回复
更多信息,例子,查询 MSDN
jixingzhong
2007-09-06
打赏
举报
回复
简单例子:
CFileDialog dlg( FALSE,NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"JPEG(*.JPG,*.JPE),BMP(*.BMP,*.RLE),TIFF(*.TIF)|*.BMP;*.RLE;*.JPG;JPE;*.TIF;*.TIFF|BMP(*.BMP,*.RLE)|*.BMP;*.RLE|JPEG(*.JPG,*.JPE)|*.JPG;JPE|TIFF(*.TIF)|*.TIF;*.TIFF|*.*|", NULL );
保 存 : 【仅仅是参数不一样】
CFileDialog dlg(TRUE,NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"JPEG(*.JPG,*.JPE),BMP(*.BMP,*.RLE),TIFF(*.TIF)|*.BMP;*.RLE;*.JPG;JPE;*.TIF;*.TIFF|BMP(*.BMP,*.RLE)|*.BMP;*.RLE|JPEG(*.JPG,*.JPE)|*.JPG;JPE|TIFF(*.TIF)|*.TIF;*.TIFF|*.*|", NULL );
然后在选择文件后,
CFileDialog->GetFileName() //或者其他成员方法,获得文件名
然后打开这个文件,
然后读取内容,显示即可
jixingzhong
2007-09-06
打赏
举报
回复
CFileDialog
MFC
-
打开文件
对话框
和文件拖拽
功能
的
实现
一,
打开文件
对话框
(1)创建一个基于
对话框
的
MFC
应用程序工程,名称设为“COpenFile”。 (2)添加两个编辑框,ID分别为IDC_OPEN_EDIT和IDC_SAVE_EDIT; 再添加两个按钮,ID分别设为IDC_OPEN_BUTTON和IDC_SAVE_BUTTON ,,标题分别设为“打开”和“保存”。 (3)为按钮IDC_OPEN_BUTTON添加点击消息的消息处理函...
MFC
打开文件
对话框
功能
实现
1.添加按钮控件 2.添加按钮的消息响应函数 void CPracticalplayerDlg::OnBnClickedBtnAdd() { // TODO: 在此添加控件通知处理程序代码 CString strPath = "MP3音乐(*.mp3)|*.mp3||";//过滤文件列表 CFileDialog file(true,NULL,NULL,OFN_HIDEREADONLY
MFC
实现
打开文件
对话框
保存文件
对话框
MFC
实现
打开文件
对话框
保存文件
对话框
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
MFC
对话框
打开文件
用到
MFC
对话框
打开文件
,方法如下CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NU
MFC
实现
文本文件的基本操作
几乎每个软件都有"打开"、’'保存"的
功能
。以“记事本为打开
功能
”为例,其打开对话画框的界面如下: //截图 其保存对画框,与打开
对话框
界面基本一样,下面也给程序增加这样的
对话框
,我们可以使用
MFC
提供的CFileDialog类来完成; CFileDialg类 CFileDialog类封装了Windows常用的文件
对话框
。常用的文件
对话框
提供了一种简单的与Windows标准相一致的文件打开和文件存...
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章