From: Guido Franzke on
Hello NG,

I already posted on 16. September that the CFileDialog does not show the "My
Computer" drives, but shows files and dirs in e.g. "My files".
Then you helped me to use CString for the filter string.

But this was only temporarily. Now the files in a directory are not shown
when there are a lot of files in it. Ordering the files and the CFileDialog
shows the rest again. So there must be a too big number of files to be
shown, so the CFileDialog not shows them at all.

But the File-Open-Dialog is ok in standard Windows editor. But not with
developer studio's CFileDialog. "My Computer" is not shown here.
I cannot find an update or patch for the developer's CFileDialog.

Reading in internet, people only say to reinstall Windows XP. But my
customer don't want to reinstall.

Problem seen on Win XP SP2, with Developer Studio VC 2003 (V7.1).

What can I do?
Thanks for help,
Guido


Here my code:

CString hFilter = "All Files (*.*)|*.*||";
CFileDialog fdlg(TRUE, "", "",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,
hFilter,this);
if (fdlg.DoModal() == IDOK)
{
m_szFile = fdlg.GetPathName();
}



From: Ismo Salonen on
Guido Franzke wrote:
> Hello NG,
>
> I already posted on 16. September that the CFileDialog does not show the "My
> Computer" drives, but shows files and dirs in e.g. "My files".
> Then you helped me to use CString for the filter string.
>
> But this was only temporarily. Now the files in a directory are not shown
> when there are a lot of files in it. Ordering the files and the CFileDialog
> shows the rest again. So there must be a too big number of files to be
> shown, so the CFileDialog not shows them at all.
>
> But the File-Open-Dialog is ok in standard Windows editor. But not with
> developer studio's CFileDialog. "My Computer" is not shown here.
> I cannot find an update or patch for the developer's CFileDialog.
>
> Reading in internet, people only say to reinstall Windows XP. But my
> customer don't want to reinstall.
>
> Problem seen on Win XP SP2, with Developer Studio VC 2003 (V7.1).
>
> What can I do?
> Thanks for help,
> Guido
>
>
> Here my code:
>
> CString hFilter = "All Files (*.*)|*.*||";
> CFileDialog fdlg(TRUE, "", "",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,
> hFilter,this);
> if (fdlg.DoModal() == IDOK)
> {
> m_szFile = fdlg.GetPathName();
> }
>
>
>

How many files ? the was ( is?) a limit for the buffer size in this
version of MFC which can be worked around. Or if uoy are just browsing
for folder then use ShBrowseForFolder()

ismo
From: David Ching on
"Guido Franzke" <guidof73(a)yahoo.de> wrote in message
news:uCFv#ZleKHA.5808(a)TK2MSFTNGP06.phx.gbl...
> Hello NG,
>
> I already posted on 16. September that the CFileDialog does not show the
> "My
> Computer" drives, but shows files and dirs in e.g. "My files".
> Then you helped me to use CString for the filter string.
>

MFC CFileDialog uses an OpenFileName hook which (at least at one time)
prevented all of the UI like the drive bar (I think it was) from being
shown. Can you use GetOpenFileName() API instead of CFileDialog and see if
it works better for you?



> But this was only temporarily. Now the files in a directory are not shown
> when there are a lot of files in it. Ordering the files and the
> CFileDialog
> shows the rest again. So there must be a too big number of files to be
> shown, so the CFileDialog not shows them at all.
>
> But the File-Open-Dialog is ok in standard Windows editor. But not with
> developer studio's CFileDialog. "My Computer" is not shown here.
> I cannot find an update or patch for the developer's CFileDialog.
>
> Reading in internet, people only say to reinstall Windows XP. But my
> customer don't want to reinstall.
>
> Problem seen on Win XP SP2, with Developer Studio VC 2003 (V7.1).
>
> What can I do?
> Thanks for help,
> Guido
>
>
> Here my code:
>
> CString hFilter = "All Files (*.*)|*.*||";
> CFileDialog fdlg(TRUE, "", "",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY,
> hFilter,this);
> if (fdlg.DoModal() == IDOK)
> {
> m_szFile = fdlg.GetPathName();
> }
>

How many of the files in the folder are read only? Your flag
OFN_HIDEREADONLY hides those.....

-- David