char Filter[]= "Crystal Report files(*.rpt)|*.rpt|All files(*.*)|*.*||";
CRect rect;
CFileDialog m_dlg1(TRUE,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)Filter,NULL);
if(m_dlg1.DoModal()==IDOK)
return;
pathname=m_dlg1.GetPathName();
filename=m_dlg1.GetFileName();
GetDlgItem(IDC_EDIT2)->SetWindowText(pathname);我想把模拟窗口的返回值返回到ID为IDC_EDIT2的Eidr Control,可是我现在的模拟窗口能出来,但文件格式都显示不出来,只能打开文件,不能选中文件更不能生成返回值。 求大侠帮忙~~~~~~~~~~~~~~~~~~~~~~~
CRect rect;
CFileDialog m_dlg1(TRUE,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)Filter,NULL);
if(m_dlg1.DoModal()==IDOK)
return;
pathname=m_dlg1.GetPathName();
filename=m_dlg1.GetFileName();
GetDlgItem(IDC_EDIT2)->SetWindowText(pathname);我想把模拟窗口的返回值返回到ID为IDC_EDIT2的Eidr Control,可是我现在的模拟窗口能出来,但文件格式都显示不出来,只能打开文件,不能选中文件更不能生成返回值。 求大侠帮忙~~~~~~~~~~~~~~~~~~~~~~~
return;选中的时候返回了,下面就没有意义了
改成下面的试试看
if(m_dlg1.DoModal()!=IDOK)
return;
if(m_dlg1.DoModal()==IDOK)
{
// return;
pathname=m_dlg1.GetPathName();
filename=m_dlg1.GetFileName();
GetDlgItem(IDC_EDIT2)->SetWindowText(pathname);
}
return;
m_dlg1.DoModal()因为是模态的,所以这时候就阻塞住了,上面的方法就可以了,等于IDOK后就是你选择了打开,这时候会进到if里面。
CRect rect;
CFileDialog m_dlg1(TRUE,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)Filter,NULL);
if(m_dlg1.DoModal()==IDOK)
{
pathname=m_dlg1.GetPathName();
filename=m_dlg1.GetFileName();
GetDlgItem(IDC_EDIT2)->SetWindowText(pathname);
UpdateData(TRUE);//更新一下
}
这样写试试
TCHAR Filter[]= {_T("Crystal Report files(*.rpt)|*.rpt|All files(*.*)|*.*||")};
CRect rect;
CFileDialog m_dlg1(TRUE,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,(LPCTSTR)Filter,NULL);
if(m_dlg1.DoModal()==IDOK)
{
GetDlgItem(IDC_EDIT2)->SetWindowText(m_dlg1.GetPathName());
}