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

制作选择目录和选择文件对话框,一般用到BROWSEINFO结构,如下:

  • BROWSEINFO结构:
  • HWND hwndOwner,指定对话框的父窗口的句柄
  • LPCITEMIDLIST pidlRoot,指定打开浏览的根目录,若为NULL,表示桌面
  • LPSTR pszDisplayName,指定一个缓冲区,接收用户选择的目录的显示名称
  • LPCSTR lpszTitle,树形视图上方显示的文字
  • UINT ulFlags,指定属性
  • BFFCALLBACK Lpfn,指定回调函数,发生某些事件时,指定的函数被调用,允许程序进一步定制对话框的行为
  • LPARAM lParam,若指定回调函数,参数值传递给回调函数
  • int iImage,代表用户选择的文件夹对象的图标在系统图标列表中的索引

下面贴上选择目录对话框的代码实现:

void CExchangeDlg::OnBrowser() // 选择目录,我这里是浏览按钮

{

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=0;
 bi.lpfn=NULL;
 bi.lParam=0;
 bi.iImage=0;

LPITEMIDLIST lp=SHBrowseForFolder(&bi);

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

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

}
 m_selectFile=szPath;
 UpdateData(FALSE);

}

文件选择对话框实现代码:

CString strFile=_T(" ");
 CFileDialog dlgFile(TRUE,NULL,NULL,OFN_HIDEREADONLY,
  _T("Describe Files(*.cfg) | *.cfg | All Files(*.*) | *.* |"),NULL);
  if(dlgFile.DoModal())
  {
   strFile=dlgFile.GetPathName();

}
  m_selectFile=strFile;  //m_selectFile对话框中静态文本框关联的变量

时间: 2024-10-13 09:58:10

[MFC]选择目录对话框和选择文件对话框的相关文章

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

https://blog.csdn.net/zaocha321/article/details/52528279 using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public par

MFC中CFileDialog打开和保存文件对话框(转)

首先我先写一段在VC6.0上打开/保存文件对话框的程序:        CString   FilePathName;//文件名参数定义    CFileDialog  Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"TXT Files(*.txt)|*.txt|All Files(*.*)|*.*");     //打开文件    if(Dlg.DoModal() == IDOK)//是否打开成功    {   

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

1 int result = 0; 2 File file = null; 3 String path = null; 4 JFileChooser fileChooser = new JFileChooser(); 5 FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,这里重要的一句 6 System.out.println(fsv.getHomeDirectory()); //得到桌面路径 7 fileChooser

VS2010/MFC对话框:文件对话框

文件对话框 上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类       文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有“打开”选项,选择“打开”后会弹出一个对话框,让我们选择要打开文件的路径,这个对话框就是打开文件对话框:除了“打开”选项一般还会有“另存为”选项,选择“另存为”后往往也会有一个对话框弹出,让我们选择保存路径,这就是保存文件对话框. 正如上面举

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

在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法: 选择目录对话框 {    char szPath[MAX_PATH];     //存放选择的目录路径     CString str;    ZeroMemory(szPath, sizeof(szPath));       BROWSEINFO bi;       bi.hwndOwner = m_hWnd;       bi.pidlRoot = NULL;       bi.pszDis

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

//弹出一个选择目录的对话框 privatevoid btnSelectPath_Click(object sender, EventArgs e) //弹出一个选择目录的对话框 { FolderBrowserDialog path = new FolderBrowserDialog(); path.ShowDialog(); this.txtPath.Text = path.SelectedPath; } //弹出一个选择文件的对话框 privatevoid btnSelectFile_Cli

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

C# 文件选择对话框,Unity3d文件保存对话框

using OpenWinForm = System.Windows.Forms; 在unity3d中,使用FileDialog应该把System.Windows.Forms.dll拷贝到unity工程的plugins目录, 并且把Player Setting中Other Settings下的api compatibility Level改为.NET2.0.要不无法编译通过. //比如unity3d要让用户选择某一个音乐文件播放; private void SelectMusic(){     

.Net学习笔记----2015-07-02(选择文件对话框、保存对话框、字体和颜色对话框)

private void button1_Click(object sender, EventArgs e) { //点击弹出对话框 OpenFileDialog ofd = new OpenFileDialog(); //设置对话框的标题 ofd.Title = "请选择要打开的文本文件哟o(∩_∩)o 哈哈"; //设置对话框可以多选 ofd.Multiselect = true; //设置对话框的初始目录 ofd.InitialDirectory = @"C:\User