本文转载于http://blog.163.com/zhaojun_xf/blog/static/30050580201132221118479/

在Wince下要打开目录对话框需要调用函数SHBrowseForFolder(),调用此函数一定要注意在工程中添加静态库ceshell.lib。否则会报错无法连接,具体的方法是选择工程的属性->“连接器”->“输入”->“附加依赖项”,输入ceshell.lib,即可。

添加静态库:

BOOL BrowseDirectory(TCHAR *title,TCHAR *fileDir)
{
 TCHAR dir[MAX_PATH];
 ZeroMemory(&dir,MAX_PATH);

 BROWSEINFO bi;
 bi.hwndOwner      = NULL;
 bi.pidlRoot       = NULL;
 bi.pszDisplayName = dir;
 bi.lpszTitle      = title;
 bi.ulFlags        = ;
 bi.lpfn           = NULL;
 bi.lParam         = NULL;
 bi.iImage         = NULL; 

 if (!SHGetPathFromIDList(SHBrowseForFolder(&bi),dir))
 {
  return (FALSE);
 }

 lstrcpy(fileDir,dir);

 return (TRUE);
}

在需要的地方调用此函数即可,title为在对话框上显示的标题,fileDir为读取的目录项。

运行结果:

下面转载内容出自:http://blog.csdn.net/scu_zhongxq/archive/2010/03/07/5354003.aspx

在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法:

选择目录对话框

//选择目录按钮
void CDcPackerDlg::OnBnClickedDecgen()
{
    char szPath[MAX_PATH];     //存放选择的目录路径
    CString str;

    ZeroMemory(szPath, sizeof(szPath));  

    BROWSEINFO bi;
    bi.hwndOwner = m_hWnd;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = szPath;
    bi.lpszTitle = "请选择需要打包的目录:";
    bi.ulFlags = ;
    bi.lpfn = NULL;
    bi.lParam = ;
    bi.iImage = ;
    //弹出选择目录对话框
    LPITEMIDLIST lp = SHBrowseForFolder(&bi);  

    if(lp && SHGetPathFromIDList(lp, szPath))
    {
        str.Format("选择的目录为 %s",  szPath);
        AfxMessageBox(str);

    }
    else
        AfxMessageBox("无效的目录,请重新选择");
}

选择文件对话框

CString CDcPackerDlg::BootOpenDialog()   //返回选择的文件名称
{
    CString strFile = _T("");

    CFileDialog    dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);

    if (dlgFile.DoModal())
    {
        strFile = dlgFile.GetPathName();
    }

    return strFile;
}

CE选择目录对话框(转)的更多相关文章

  1. [ATL/WTL]_[初级]_[选择目录对话框]

    场景 1.起因是创建标准选择目录对话框时使用了 SHCreateItemFromParsingName 函数, 这个函数支持vista以上系统. 之后再winxp上运行就报错: 无法定位程序输入点 S ...

  2. [MFC]选择目录对话框和选择文件对话框

    在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法: 选择目录对话框 //选择目录按钮void CDcPackerDlg::OnBnClickedDec ...

  3. [MFC]选择目录对话框和选择文件对话框 [转]

      在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法: 选择目录对话框 {    char szPath[MAX_PATH];     //存放选择的 ...

  4. MFC_选择目录对话框_选择文件对话框_指定目录遍历文件

    选择目录对话框 void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls() { // 清空编辑框内容 m_Edit.SetWindowTextW(L""); ...

  5. 如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”

    .选择文件[XP操作系统,不能用于Win2000或98],使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框 Set objDialog = Crea ...

  6. C# winform 窗体弹出选择目录或文件 的对话框

    //弹出一个选择目录的对话框 privatevoid btnSelectPath_Click(object sender, EventArgs e) //弹出一个选择目录的对话框 { FolderBr ...

  7. wpf, C# 实现目录对话框选择

    引用:using System.Windows.Forms; 代码: FolderBrowserDialog fbWnd = new FolderBrowserDialog(); fbWnd.Desc ...

  8. Winform选择目录路径与选择文件路径

    https://blog.csdn.net/zaocha321/article/details/52528279 using System.Collections.Generic; using Sys ...

  9. WINDOWS选择目录SHBrowseForFolder使用方法介绍

    首先介绍一个兼容Unicode和多字节的方法,定义如下头文件: // TString.h; #pragma once #include <string> #ifdef UNICODE ty ...

随机推荐

  1. kd tree学习笔记 (最近邻域查询)

    https://zhuanlan.zhihu.com/p/22557068 http://blog.csdn.net/zhjchengfeng5/article/details/7855241 KD树 ...

  2. Ubuntu14.04安装redis和简单配置

    1.前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:做为时时监控信号处理也非常不错. ...

  3. asp获取虚拟目录根路径

    <% TempArray = Array("account_book","admin","ajaxFile","catalo ...

  4. 微软2017校招笔试题2 composition

    题目 Alice writes an English composition with a length of N characters. However, her teacher requires ...

  5. node.js基础 1之简单的nodejs模块

    模块流程: 创建模块->导出模块->加载模块->使用模块 ndoejs主要就是把项目变成模块化在管理 实现一个模块的调用,编写student.js.teacher.js.klass. ...

  6. WLAN拓扑介绍-07

    学完本课程后,您应该能: 描述802.11基本概念 概括WLAN基本拓扑结构 列举华为WDS组网模式 描述mesh网络模式 802.11基本元素总结 BSS(Basic Service Set):基本 ...

  7. hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的

    因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...

  8. Flume使用小结

    本文介绍初次使用Flume传输数据到MongoDB的过程,内容涉及环境部署和注意事项. 1 环境搭建 需要jdk.flume-ng.mongodb java driver.flume-ng-mongo ...

  9. spring mvc 注解 学习笔记(一)

    以前接触过spring,但是没有接触spring mvc 以及注解的应用,特习之,记之: 注解了解 @Component 是通用标注, @Controller 标注web控制器, @Service 标 ...

  10. .htaccess更改目录下的默认主页

    我们知道apache的配置文件httpd.conf可以配置网站目录的默认主页.配置文件该部分定义如下: #DirectoryIndex: sets the file that Apache will ...