文件夹选择对话框的使用

本文介绍了如何使用Windows API中的SHBrowseForFolder函数创建文件夹选择对话框。详细讨论了ROWSEINFO结构,包括其各个字段的作用,如hwndOwner、pidlRoot、ulFlags等,并解释了如何设置显示标志来控制对话框的行为。此外,还提到了SHGetPathFromIDList函数,用于将选择的文件夹ID转换为实际的文件系统路径。
摘要由CSDN通过智能技术生成
文件夹选择对话框的使用

一. 示例代码

 CString iDir;
 BROWSEINFO bi;
 bi.hwndOwner = this->m_hWnd;
 bi.pidlRoot = NULL;
 bi.pszDisplayName = m_Dir.GetBuffer(512);
 bi.lpszTitle = _T("选择保存的文件夹");
 bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_EDITBOX | BIF_BROWSEFORCOMPUTER;
 bi.lpfn = NULL;
 bi.lParam = 0;
 bi.iImage = 0;
 ITEMIDLIST* pidl = ::SHBrowseForFolder(&bi);

 if (::SHGetPathFromIDList(pidl, m_Dir.GetBuffer(512)))
    m_Dir.ReleaseBuffer();

二. ROWSEINFO结构说明

typedef struct _browseinfo {
  HWND hwndOwner;
  LPCITEMIDLIST pidlRoot;
  LPTSTR pszDisplayName;
  LPCTSTR lpszTitle;
  UINT ulFlags;
  BFFCALLBACK lpfn;
  LPARAM lParam;
  int iImage;
} BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;

hwndOwner:                          对话框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值