用CFileDialog类,一次得到多个文件名。像一些文件对话框一样,用Ctrl或者Alt,同时选中多个文件,并且得到文件名。以下程序只能选中一个文件。
CSting m_sFile;
CFileDialog dlg(true,"","",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"All Files(*.*)|*.*");
if(dlg.DoModal ()==IDOK)
{
m_sFile.Insert(strlen(m_sFile),(dlg.GetPathName ()).GetBuffer (128));
}
UpdateData(false);
怎样得到多个文件?请给出源代码。
CSting m_sFile;
CFileDialog dlg(true,"","",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"All Files(*.*)|*.*");
if(dlg.DoModal ()==IDOK)
{
m_sFile.Insert(strlen(m_sFile),(dlg.GetPathName ()).GetBuffer (128));
}
UpdateData(false);
怎样得到多个文件?请给出源代码。
{
//Ìí¼ÓÁбí
CString strFileName;
CFileDialog Filedlg( TRUE, NULL, NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT,
"MP3 Files (*.mp3)|*.mp3|All Files(*.*)|*.*|", AfxGetMainWnd() ); DWORD MAXFILE = 2412; // allocate enough memory space
Filedlg.m_ofn.nMaxFile = MAXFILE; // set the buffer size
char* buf = new char[MAXFILE];
Filedlg.m_ofn.lpstrFile = buf;
Filedlg.m_ofn.lpstrFile[0] = NULL;
int iReturn = Filedlg.DoModal();
if(iReturn == IDOK)
{
POSITION pos = Filedlg.GetStartPosition();
while (pos != NULL)
{
strFileName=Filedlg.GetNextPathName(pos);
// get the individual file name
m_Mp3List.AddString (strFileName );
// add to Mp3 ListBox
}
}
delete [] buf;修改一下就可以