在FILE OPEN 中选择一批文件到编辑框中,应该怎么做啊?
具体来说,就是点击"打开"按钮,然后弹出文件选择窗口,选择要打开的文件时
可以按住Shift键多选,然后将选择的文件按照顺序排好打开.
比如,20030422-3,20030422-4,...,20030423-5,...
谢谢各位了!
具体来说,就是点击"打开"按钮,然后弹出文件选择窗口,选择要打开的文件时
可以按住Shift键多选,然后将选择的文件按照顺序排好打开.
比如,20030422-3,20030422-4,...,20030423-5,...
谢谢各位了!
CString strFilter="Mp3 File(*.mp3)|*.mp3|";
strFilter+="MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg|";
strFilter+="Wave File(*.wav)|*.wav|";
strFilter+="AVI File(*.avi)|*.avi|";
strFilter+="All File(*.*)|*.*|";
CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);
DWORD MAXFILE = 2412; // allocate enough memory space
dlgOpen.m_ofn.nMaxFile = MAXFILE; // set the buffer size
CString strFileName;
char* buf = new char[MAXFILE];
dlgOpen.m_ofn.lpstrFile = buf;
dlgOpen.m_ofn.lpstrFile[0] = NULL;
if(IDOK==dlgOpen.DoModal())
{
POSITION pos = dlgOpen.GetStartPosition();
while (pos != NULL)
{
strFileName = dlgOpen.GetNextPathName(pos);
// get the individual file name
m_SourceFileList.InsertString(m_SourceFileList.GetCount(),strFileName);// add to Mp3 ListBox
}
}
delete [] buf;
POSITION pos = dlgOpen.GetStartPosition();
while (pos != NULL)
{
strFileName = dlgOpen.GetNextPathName(pos);
// get the individual file name
m_SourceFileList.InsertString(m_SourceFileList.GetCount(),strFileName);// add to Mp3 ListBox
}
先通过GetStartPosition获取第一个POSITION,然后通过GetNextPathName获取文件名并将POSTION指向下一个文件名的位置
CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT,
LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL ) open(true);