• VC弹出"选择文件"和"选择文件夹"对话框(转)


    1、选择文件夹

        在实际的MFC编程当中,常常需要弹出对话框选择文件、选择目录等操作,对于选择文件,用CFileDialog就可以很简单的解决,而对于选择目录,则稍稍需要多一些步骤,需要自己创建Dialog。

        首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。

     

     

    void CDialog::OnButtonBrowser()

    {

           // TODO: Add your control notification handler code here

           UpdateData(TRUE);

           char szDir[MAX_PATH];

           BROWSEINFO bi;

           ITEMIDLIST *pidl;

           bi.hwndOwner = this->m_hWnd;

           bi.pidlRoot = NULL;

           bi.pszDisplayName = szDir;

           bi.lpszTitle = "请选择目录";

           bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;

           bi.lpfn = NULL;

           bi.lParam = 0;

           bi.iImage = 0;

           pidl = SHBrowseForFolder(&bi);

           if(pidl == NULL)  return;

           if(!SHGetPathFromIDList(pidl, szDir))   return;

           else  m_strPath = szDir;

           UpdateData(FALSE);    

    }

        关于结构体BROWSEINFO 和ITEMIDLIST ,可以查阅MSDN,里面有很详细的解释。

        当程序启动起来的时候,点击按钮,就会弹出如下的选择目录的对话框

    2、选择文件操作相对简单,

    char szFilter[]="Text files(*.txt)|*.txt";

     CFileDialog dlg(1,NULL,NULL,NULL,szFilter);

     if(dlg.DoModal()==IDOK)
     {
            m_sRtDataFilePath = dlg.GetPathName();
     }

    转自:http://blog.sina.com.cn/s/blog_520e51640100dlio.html~type=v5_one&label=rela_nextarticle

  • 相关阅读:
    各种筛法与莫比乌斯反演
    欧拉函数技巧与学习笔记
    莫比乌斯函数与欧拉函数的单个值的快速求法
    最短路算法总结
    NOI2018网络同步赛游记
    中国剩余定理及其扩展学习笔记
    构造方法的格式
    private关键字
    成员变量和局部变量的区别
    数据加密代码实现
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1520820.html
Copyright © 2020-2023  润新知