c++能否用api创建一个openfiledialog
答案:5 悬赏:20 手机版
解决时间 2021-03-02 21:09
- 提问者网友:我们很暧昧
- 2021-03-01 20:17
不要用mfc啊 纯api
最佳答案
- 五星知识达人网友:青尢
- 2021-03-01 20:25
OPENFILENAME ofn;
wchar_t szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize=sizeof(ofn);
ofn.lpstrFile=szFile;
ofn.lpstrFile[0]=TEXT('\0');
ofn.nMaxFile=sizeof(szFile);
ofn.lpstrFilter=TEXT("Devlog\0devlog0.txt");
ofn.nFilterIndex=0;
ofn.lpstrFileTitle=NULL;
ofn.nMaxFileTitle=0;
ofn.lpstrInitialDir=NULL;
ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
::SetDlgItemText(hWnd,ID_AF,szFile);
}
wchar_t szFile[MAX_PATH];
ZeroMemory(&ofn,sizeof(ofn));
ofn.lStructSize=sizeof(ofn);
ofn.lpstrFile=szFile;
ofn.lpstrFile[0]=TEXT('\0');
ofn.nMaxFile=sizeof(szFile);
ofn.lpstrFilter=TEXT("Devlog\0devlog0.txt");
ofn.nFilterIndex=0;
ofn.lpstrFileTitle=NULL;
ofn.nMaxFileTitle=0;
ofn.lpstrInitialDir=NULL;
ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
::SetDlgItemText(hWnd,ID_AF,szFile);
}
全部回答
- 1楼网友:怀裏藏嬌
- 2021-03-02 00:45
调用MFC类库中的函数可以
- 2楼网友:从此江山别
- 2021-03-01 23:07
用MFC可以,其中有个类CFileDialog可以创建打开,关闭对话框窗口
- 3楼网友:十鸦
- 2021-03-01 21:52
应该可以的。 system.windows.form.openfiledialog fd=new openfiledialong();。。。。(C#实现),在C++也应可以
- 4楼网友:白昼之月
- 2021-03-01 21:21
调用MFC类库中的函数可以。具体代码如下:
CString CXXXDlg ::BootOpenDialog() //返回选择的文件名称
{
CString strFile = _T("");
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}
return strFile;
}
//加载文件按钮
void CXXXDlg::OnBnClickedSelectdec()
{
m_strDescPath = ""; //类的成员变量
//"打开文件"对话框,选择文件,返回其路径
m_strDescPath = BootOpenDialog();
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯