CFileDialog *FileLaodDlg =
new CFileDialog(TRUE, "","",OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT, szFilters, this);

if(FileLaodDlg->DoModal() == IDOK)
{
lpszPathName=FileLaodDlg->GetPathName();
}
else
return;
以上程序
会产生一个打开文件的对话框,当用鼠标右键点击文件时,整个程序就自知退出了.请问大家这是怎么回事,如何解决呢?

解决方案 »

  1.   

    哈哈,这个问题我刚好遇到过,这是因为微软的一个BUG,你把你的程序放到VS.net 2005下去就不会出现此问题,或者你把你的程序多加一些其他的功能,这个问题就会消失。
      

  2.   

    改成如下还有问题吗?CFileDialog dlg (TRUE, "","",OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT, szFilters, this);
    if(dlg.DoModal() == IDOK)
    {
    CString str = dlg.GetPathName();
    }
      

  3.   

    我现在单独建个基于对话框的程序,然后将它放在就是放在单个按钮里的,却不会出现这个情况,请问大家这是怎么回事..
    我是用VS.net2003的.XP操作系统
      

  4.   

    不用指针吧,直接
    CFileDialog dlg(TURE);
    我暂时还没有遇到这样的问题
      

  5.   

    这就是微软的BUG,不信到网上查!
      

  6.   

    我现在单独建个基于对话框的程序,然后将它放在就是放在单个按钮里的,却不会出现这个情况,请问大家这是怎么回事..
    那你现在放在什么地方啊??
    不应该是微软的BUG~~~