各位大哥:
例如VC++工具栏上的打开文件按纽,它可以同时显示多类文件
请问在构建文件对话框时如何写才可以实现这样的功能。
例如:
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"bmp files (.bmp)|*.bmp|jpg file (.jpg)|*.jpg|");这样对话框每次只能显示BMP文件或者JPG文件
我想让JPG和BMP同时显示出来该如何创建(不能用*.*)。
小弟在这里先谢了
例如VC++工具栏上的打开文件按纽,它可以同时显示多类文件
请问在构建文件对话框时如何写才可以实现这样的功能。
例如:
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"bmp files (.bmp)|*.bmp|jpg file (.jpg)|*.jpg|");这样对话框每次只能显示BMP文件或者JPG文件
我想让JPG和BMP同时显示出来该如何创建(不能用*.*)。
小弟在这里先谢了
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"bmp&jpg files (bmp;jpg)|*.bmp;*.jpg");
sFilter="常用图像(*.jpg;*.tif;*.bmp;*.pcx;*.gif,*png)|*.jpg;*.tif;*.bmp;*.pcx;*.gif,*png";
sFilter+="|压缩图像(*.jpg;*.gif)|*.jpg;*.gif";
sFilter+="|TIFF图像(*.tif)|*.tif";
sFilter+="|PCX图像(*.pcx)|*.pcx";
sFilter+="|位图文件(*.bmp)|*.bmp";
sFilter+="|所有文件(*.*)|*.*||"; CFileDialog dlg(TRUE,NULL,NULL,0,(LPCSTR)sFilter);
dlg.m_ofn.Flags|=OFN_ALLOWMULTISELECT|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_LONGNAMES|OFN_PATHMUSTEXIST;//
char buf[20480]="";
dlg.m_ofn.lpstrFile=buf;
dlg.m_ofn.nMaxFile=2048;
dlg.m_ofn.lpstrTitle="选择图片文件";
CString sInitPath ;
//sInitPath = MyGetProfileString("LastTimePath", "OpenPath", "");
dlg.m_ofn.lpstrInitialDir=(LPCTSTR)sInitPath;//初始化最初的路径。
int ret=dlg.DoModal();
if(ret!=IDOK)
{
return;
}
POSITION pos=dlg.GetStartPosition();
if(pos==NULL)return ;
CStringArray arrSourPath;
while(pos!=NULL)
{
sarrFileList.Add(dlg.GetNextPathName(pos));
}
NULL,
NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT|OFN_EXPLORER,
"Data Files (*.bak;*.txt)|*.bak;*.txt|All files(*.*)|*.*||",
NULL);
if(Filedlg.DoModal() == IDOK)
{
CString strFilePath = Filedlg.GetPathName();
}