4120|14

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EVC中在基于对话框的情况下,怎样不使用按钮就能读取指定的路径呢? [复制链接]

用按钮的打开对话框我会,但是不用按钮直接读取得就不知道怎么弄了?
那位高手可以指点一下呢?
应该用哪个函数呢?

最新回复

GZ  详情 回复 发表于 2007-2-7 22:51
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

表达不清楚,最好举个小例子。
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我的意思是:
    通常打开一个文件大家会在窗体上添加一个button控件,如capion->onFileOpen,加入代码:
   void CMy2Dlg::OnFileopen()
{
       
        CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,TEXT("JPG Files(*.JPG)|*.JPG||"));
        if(FileDlg.DoModal()==IDOK)
        {
                Filename=FileDlg.GetPathName();
                InvalidateRect(NULL,TRUE);
                UpdateWindow();
        }
        // TODO: Add your control notification handler code here
       
}

执行后会出现一个对话框让我们选择需要打开的.jpg文件。
但是我现在不希望有这个对话框,在程序中就加入打开这个文件的代码,不知道该怎么写呢?
谢谢指教!
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

4
 

那你要自己实现选择文件的功能了。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
怎么实现呢?
高手可否指点一下?用哪个函数可以实现呢?
谢谢大家了,急啊!
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
我的问题问错了吗?
为什么没有人回答呢?
高手救命!!
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
你直接CreateFile不就能打开了么,反正你知道文件名的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
还是不明白楼主意思

是要获得文件名吗
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
CFile File;
File.Open(FilePath,CFile::modeCreate | CFile::modeWrite);//FilePath为文件路径
...............................
File.Close();

具体函数用法,你可以看一下MSDN
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

10
 
我是想在窗体上直接显示指定文件夹(如E:\\ex\\)下的所有jpg图片缩略图,
不使用对话框来选择目录
就是说,在程序运行成功后,我就能直接在窗体上看见这些图片的缩略图了
不知我这次表达清楚了没有?
再次感谢大家了!
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

11
 
赞同win847(咖啡茶)
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

12
 
呵呵,用FindFirstFile和FindNextFile来遍历整个目录,寻找后缀是jpg的文件,打开显示缩略图即可!
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

13
 
这是我遍历目录查找jpg文件的函数代码,写的不好,要是有什么问题还请大家指正!
void CJpegViewerDlg::FindFileName(CString strFilePath)
{
//        CArray FileNameArray;    //建立可存入文件名的数组
        CListBox m_strList;

        WIN32_FIND_DATA FindFileData;

        HANDLE hFind = FindFirstFile(strFilePath, &FindFileData);

        if(hFind != INVALID_HANDLE_VALUE)
        {
                do
                {
                        CString strTemp = FindFileData.cFileName;
                        if(strTemp == "." || strTemp == "..")
                                continue;
                        else if(FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
                        {
                                CString strPath=strFilePath;
                                strTemp = "\\"+strTemp;
                                strTemp = strPath.Left(strPath.GetLength()-3)+strTemp;
                                strTemp = strTemp+"\\*.*";
                                FindFileName(strTemp);
                        }
                                else
                                {
                                        if(strTemp==".jpg" || strTemp==".JPG")
                                        {
                                FileNameArray.Add(FindFileData.cFileName);
                                if(FileNameArray.GetSize()==0)
                                        return;
                                                else
                                                {
                                for(int i=0; i                                                         {
                                                                m_strList.AddString(FileNameArray.GetAt(i));
                                                        }
                                                }
                                        }
                                }
                }
        }
}

但是遍历完了,怎么打开并显示缩略图呢?
能不能给点代码看看呢?
我用的是OnPaint(),不知道行不行,下面的代码写的很乱。希望大家能帮我改正。谢谢!
void CPathDlg::OnPaint()
{
        CPaintDC dc(this); // device context for painting

        FP = fopen("E:\\ex\\.jpg","w");

        CString strFilePath="E:\\ex\\";
        FindFileName(strFilePath);

        fclose(FP);
       
        // TODO: Add your message handler code here
       
        // Do not call CDialog::OnPaint() for painting messages
}
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

14
 
哪位高手能帮我纠正以下上面的代码呢?
郁闷中。。。。。。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

15
 
GZ
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【干货上新】电源解决方案和技术第二趴 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 6

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表