社区
C++ 语言
帖子详情
请问如何在mfc基于对话框中实现打开文件这个功能?
grmoney
2007-09-06 07:32:15
要求:我新建一个button按钮。。然后我点击他就弹出我们平时打开文件的对话框。。上面有目录。。然后我选择文件(要求txt的)。。然后我读取了这个文件并显示在另一个edit框中。。。。。。。请问怎么实现。。新手刚学mfc。望高手指点。。。请详细说明。。不要给我帖一段代码。。。。谢谢
...全文
682
8
打赏
收藏
请问如何在mfc基于对话框中实现打开文件这个功能?
要求:我新建一个button按钮。。然后我点击他就弹出我们平时打开文件的对话框。。上面有目录。。然后我选择文件(要求txt的)。。然后我读取了这个文件并显示在另一个edit框中。。。。。。。请问怎么实现。。新手刚学mfc。望高手指点。。。请详细说明。。不要给我帖一段代码。。。。谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
VC++基于
mfc
实现
对话框
打开读取txt文件
在Visual Studio
中
,选择“新建项目” -> “
MFC
” -> “
MFC
应用程序”,然后按照向导的指示创建一个基于
对话框
的应用程序。确保在向导的“附加选项”
中
选
中
“使用
对话框
类”。 **2. 添加Open文件
对话框
** 在
对话框
...
MFC
做的基于
对话框
的密码登录
为了保护用户隐私,密码输入通常会用星号(*)或圆点(·)隐藏实际字符,这在
MFC
中
可以通过设置EDIT控件的属性来
实现
。此外,为了安全,密码不应明文存储,而是应该在获取后立即加密,并在比较时解密。 **事件处理** ...
MFC
对话框
中
点击按钮打开bmp图片并显示在picture
中
,同时可以另存
在这个场景
中
,我们关注的是如何在
对话框
中
的Picture控件(通常是CStatic或C
MFC
ToolBarImageControl)显示 BMP 图片,并提供一个
功能
让用户能够点击按钮打开新的图像,同时还能
实现
图片的另存。以下是一些关键知识点...
基于
MFC
对话框
的OpenCV视频播放2
在本文
中
,我们将深入探讨如何使用OpenCV库与Microsoft Foundation Classes (
MFC
)结合,在一个基于
对话框
的应用程序
中
实现
视频播放
功能
。标题"基于
MFC
对话框
的OpenCV视频播放2"暗示了这是一个进阶版的教程,可能在...
在
对话框
中
实现
打印预览并
实现
打印窗口内容的例子
在本文
中
,我们将深入探讨如何在
对话框
中
实现
打印预览和打印窗口内容的
功能
,以一个基于Visual Studio 2005(
MFC
库)的实际例子进行阐述。首先,让我们理解
对话框
、打印、打印预览和打印窗口这些概念。 **
对话框
...
C++ 语言
65,199
社区成员
250,520
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章