zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    web网站开发反面教材
    phpstudy 做的后台长时间运行的脚本,设置了脚本运行时间还是40秒就返回500,用的apache2.4.39
    PHP_EOL
    web文件下载,a标签文件下载,php文件下载
    邮件发送
    网站调用qq第三方登录
    微信Pcweb登录简介
    JqueryOn绑定事件方法介绍
    php+ajax文件上传
    php操作数组函数
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1520820.html
Copyright © 2011-2022 走看看