NX二次开发-弹出选择文件夹对话框

时间:2023-03-10 02:33:26
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 = ;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//调用选择对话框
string sFolder;
if (pidl != NULL)
{
TCHAR strFolder[MAX_PATH];
SHGetPathFromIDList(pidl, strFolder);
sFolder = strFolder;
} return sFolder;//选择文件夹返回值为路径,没选择文件夹返回值为空
} Caesar卢尚宇
2019年7月23日

NX二次开发-弹出选择文件夹对话框

附加说明2019年10月15日

如果头文件同时使用了

#include "afxdialogex.h"//弹出选择文件夹对话框头文件
#include "shlobj.h"//弹出选择文件夹对话框头文件
#include <windows.h>

这三个,请将#include <windows.h>放在最下边,如果放在上边会编译出错。

fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>