CFileDialog Problem /w OFN_ALLOWMULTISELECT
Jens Bohlmann -- bohly@ki.comcity.de
Tuesday, February 18, 1997
Environment: Visual C++ 4.2b, NT 4.0
Hello,
I have cderiveda Multi-Select FileDialog from CFileDialog with an
enhanced Buffer size - not much complicated:
...
CMultiFileDlg::CMultiFileDlg(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
m_ofn.lpstrFile = m_strFileName.GetBuffer(4096);
m_ofn.nMaxFile = 4096;
m_ofn.Flags |= OFN_ALLOWMULTISELECT;
}
and used it with:
...
CMultiFileDlg dlg ( TRUE, // Open
NULL, // No default extension
NULL, // No initial file name
OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ,
"Bitmap files (*.bmp)|*.bmp|All files (*.*)|*.*||");
if (dlg.DoModal() == IDOK)
{
...
When I open less than e.g. 12 files with that Box everything is o.k.
When I select more ( i would say 50 files ) the DoModal() function
doesn't come back. Instead a Dialogbox with "<...> File not found Pleas
verify the correct filename was given." appears with a cutted part of
an filename in <...>. This box araises in
int CFileDialog::DoModal()
{
...
nResult = ::GetOpenFileName(&m_ofn); <<< does NOT come back with an error
...
}
Thanks
Jens
David Lowndes -- David.Lowndes@bj.co.uk
Wednesday, February 19, 1997
>I have cderiveda Multi-Select FileDialog from CFileDialog with an
enhanced Buffer size - not much complicated:
When I open less than e.g. 12 files with that Box everything is o.k.
When I select more ( i would say 50 files ) the DoModal() function
doesn't come back.
<
Jens,
Try NT4 SP2 (and the hot-fixes). SP2 appears to fix a similar related
problem with the Explorer style open dialog box (though it's never
been documented as a problem as far as I know).
>Dave
Become an MFC-L member
| Вернуться в корень Архива
|