NX二次开发-弹出选择文件夹对话框
这个UFUN和NOPEN里没有对应的函数和类,要用C++的方法去做。
#include "afxdialogex.h"//弹出选择文件夹对话框头文件
#include "shlobj.h"//弹出选择文件夹对话框头文件
using namespace std;
string MyClass::OnSigBtnSelectInstallDir()//弹出选择文件夹对话框
{
BROWSEINFO bi;
bi.hwndOwner = NULL;
bi.pidlRoot = CSIDL_DESKTOP;//文件夹的根目录,此处为桌面
bi.pszDisplayName = NULL;
bi.lpszTitle = "请选择文件夹";//显示位于对话框左上部的提示信息
bi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;//有新建文件夹按钮
bi.lpfn = NULL;
bi.iImage = 0;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//调用选择对话框
string sFolder;
if (pidl != NULL)
{
TCHAR strFolder[MAX_PATH];
SHGetPathFromIDList(pidl, strFolder);
sFolder = strFolder;
}
return sFolder;//选择文件夹返回值为路径,没选择文件夹返回值为空
}
Caesar卢尚宇
2019年7月23日