将m_ofn.Flags设置OFN_ALLOWMULTISELECT,m_ofn.lpstrFile(缓冲区指针),m_ofn.nMaxFile(缓冲区大小)。
然后用GetStartPosition()、GetNextPathName(POSITION& pos)取出每一个文件名。
然后用GetStartPosition()、GetNextPathName(POSITION& pos)取出每一个文件名。
char filenamebuf[2048]; CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT|OFN_EXPLORER,"文本文件,(*.txt)|*.txt",NULL);
FileDlg.m_ofn.Flags |= OFN_EXPLORER;
FileDlg.m_ofn.nMaxFile = 2048;
FileDlg.m_ofn.lpstrFile = filenamebuf;
ASSERT(FileDlg.DoModal ());
但非法操作!
char filenamebuf[2048] = {0}; CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY¦OFN_OVERWRITEPROMPT¦OFN_ALLOWMULTISELECT¦OFN_EXPLORER,"文本文件,(*.txt)¦*.txt",NULL);FileDlg.m_ofn.Flags ¦= OFN_EXPLORER;
FileDlg.m_ofn.nMaxFile = 2048;
FileDlg.m_ofn.lpstrFile = filenamebuf;
ASSERT(FileDlg.DoModal ());
就可以了。
该字符串的第一个字符必须初始化为NULL。