2个回答
展开全部
CFileDialog dlg(FALSE, _T("SQL"), _T(""),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||"));
if ( dlg.DoModal()!=IDOK )
return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
if ( dlg.DoModal()!=IDOK )
return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
展开全部
这个满足你的要求 s返回文件路径
#define DLG_FILTER "ALL Files (*.*)|*.*||"
#define DLG_EXT "* "
CFileDialog dlg(TRUE, _T(DLG_EXT), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, _T(DLG_FILTER));
if (dlg.DoModal() == IDOK)
{
POSITION pos = dlg.GetStartPosition();
while (pos != 0)
{
CString s = dlg.GetNextPathName(pos);
}
}
下面代码,可以选择文件夹,会返回文件夹的路径
需要自己查找每个文件
char* GetPath(HWND hWnd,char* pBuffer)
{
BROWSEINFO bf;
LPITEMIDLIST lpitem;
memset(&bf,0,sizeof BROWSEINFO);
bf.hwndOwner=hWnd;
bf.lpszTitle= "选择路径";
bf.ulFlags=BIF_RETURNONLYFSDIRS; //属性你可自己选择
lpitem=SHBrowseForFolder(&bf);
if(lpitem==NULL) //如果没有选择路径则返回 0
return 0;
//如果选择了路径则复制路径,返回路径长度
SHGetPathFromIDList(lpitem,pBuffer);
return pBuffer;
}
#define DLG_FILTER "ALL Files (*.*)|*.*||"
#define DLG_EXT "* "
CFileDialog dlg(TRUE, _T(DLG_EXT), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, _T(DLG_FILTER));
if (dlg.DoModal() == IDOK)
{
POSITION pos = dlg.GetStartPosition();
while (pos != 0)
{
CString s = dlg.GetNextPathName(pos);
}
}
下面代码,可以选择文件夹,会返回文件夹的路径
需要自己查找每个文件
char* GetPath(HWND hWnd,char* pBuffer)
{
BROWSEINFO bf;
LPITEMIDLIST lpitem;
memset(&bf,0,sizeof BROWSEINFO);
bf.hwndOwner=hWnd;
bf.lpszTitle= "选择路径";
bf.ulFlags=BIF_RETURNONLYFSDIRS; //属性你可自己选择
lpitem=SHBrowseForFolder(&bf);
if(lpitem==NULL) //如果没有选择路径则返回 0
return 0;
//如果选择了路径则复制路径,返回路径长度
SHGetPathFromIDList(lpitem,pBuffer);
return pBuffer;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询