CFileDialog filedlg(FALSE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT | OFN_CREATEPROMPT,
"(*.DAT)|*.DAT||",NULL);LPTSTR charfilename = "1111"; //设置出现在文件名Edit框中的默认文件名
charfilename = strFileName.GetBuffer(strFileName.GetLength());//filedlg.m_ofn.lpstrFile = charfilename; //设置默认文件名失败
filedlg.m_ofn.lpstrDefExt = "DAT";
filedlg.m_ofn.lpstrTitle = "导出到文件";
if (filedlg.DoModal() == IDCANCEL ) /////执行到这句出错
{
return;
}
代码如上,若没有filedlg.m_ofn.lpstrFile= charfilename;则执行正常,若有则
出错,请问如何设置出现在文件名Edit框中的默认文件名
"(*.DAT)|*.DAT||",NULL);LPTSTR charfilename = "1111"; //设置出现在文件名Edit框中的默认文件名
charfilename = strFileName.GetBuffer(strFileName.GetLength());//filedlg.m_ofn.lpstrFile = charfilename; //设置默认文件名失败
filedlg.m_ofn.lpstrDefExt = "DAT";
filedlg.m_ofn.lpstrTitle = "导出到文件";
if (filedlg.DoModal() == IDCANCEL ) /////执行到这句出错
{
return;
}
代码如上,若没有filedlg.m_ofn.lpstrFile= charfilename;则执行正常,若有则
出错,请问如何设置出现在文件名Edit框中的默认文件名
LPTSTR pszfilename=strFileName.GetBuffer(_MAX_PATH);
memset(pszfilename,0,_MAX_PATH);
lstrcpy(pszfilename,"default filename");
filedlg.m_ofn.lpstrFile = pszfilename; //设置默认文件名失败
filedlg.m_ofn.nMaxFile =_MAX_PATH;
filedlg.m_ofn.lpstrDefExt = "DAT";
filedlg.m_ofn.lpstrTitle = "导出到文件";
if (filedlg.DoModal() == IDCANCEL ) /////执行到这句出错
{
return;
}
strFileName.ReleaseBuffer();
CFileDialog dlgopen(true,0,0,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,
(LPCTSTR)Filter,NULL);
if(dlgopen.DoModal()==IDOK)
{
m_filename=dlgopen.GetPathName();
FileTitle=dlgopen.GetFileName();
//ComputePeaceSize();
//AfxMessageBox(FileTitle,MB_OK,0);
}
else
{
MessageBox("所要打开的文件无法打开。");
return;
}
SetDlgItemText(IDC_FILENAME,m_filename);
SetDlgItemText(IDC_EDIT,_T(""));
ComputePeaceSize();
Invalidate(true);
RedrawWindow();
1.只比我多了一个设置,filedlg.m_ofn.nMaxFile =_MAX_PATH;
我考到程序中,还是原先那样出错
2.SetDlgItemText(IDC_FILENAME,m_filename);
SetDlgItemText(IDC_EDIT,_T(""));
是干什么?
我要的是在dlg出现前设置出现在文件名Edit框中的默认文件名,然后dlg.
Domodal()之后又图片就行!
还有
CString strFileName;
LPTSTR pszfilename=strFileName.GetBuffer(_MAX_PATH);
memset(pszfilename,0,_MAX_PATH);
lstrcpy(pszfilename,"default filename");
filedlg.m_ofn.lpstrFile = pszfilename; 可能strFileName;和你的重名了,改个名试试,我vc。net下成功的呀
CString strFileName;
LPTSTR pszfilename=strFileName.GetBuffer(_MAX_PATH);
memset(pszfilename,0,_MAX_PATH);
lstrcpy(pszfilename,"default filename");
filedlg.m_ofn.lpstrFile = pszfilename; //设置默认文件名失败
filedlg.m_ofn.nMaxFile =_MAX_PATH;
filedlg.m_ofn.lpstrDefExt = "DAT";
filedlg.m_ofn.lpstrTitle = "导出到文件";
if (filedlg.DoModal() == IDCANCEL ) /////执行到这句出错
{
return;
}
strFileName.ReleaseBuffer();
可能是你字符转换有问题吧