用MFC建的对话框中,怎么实现打开文件对话框
答案:4 悬赏:80 手机版
解决时间 2021-01-14 23:42
- 提问者网友:沉默的哀伤
- 2021-01-14 18:14
用MFC建的对话框中,怎么实现打开文件对话框
最佳答案
- 五星知识达人网友:青灯有味
- 2021-01-14 18:40
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR
lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd* pParentWnd = NULL );
参数意义如下:
bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保
存对话文件对话框。
lpszDefExt 指定默认的文件扩展名。
lpszFileName 指定默认的文件名。
dwFlags 指明一些特定风格。
lpszFilter 是最重要的一个参数,它指明可供选择的文件类型
和相应的扩展名。
//打开文件对话框窗口 选择所要打开的记事本文件
void CLoveDlg::OnButtonRead()
{
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1,str);
//或者使用此语句: GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
}
//保存记事本格式的文件
void CLoveDlg::OnButtonSave()
{
CString str;
CFileDialog FileDlg(FALSE,"txt","QQ网名伪原创",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
FileDlg.m_ofn.lpstrInitialDir="桌面:\\";
if(FileDlg.DoModal()==IDOK)
{
ofstream ofs(FileDlg.GetPathName());
GetDlgItem(IDC_EDIT2)->GetWindowText(str);
ofs< }
}
注意:#include //保存文本 函数所要的头文件。
lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd* pParentWnd = NULL );
参数意义如下:
bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保
存对话文件对话框。
lpszDefExt 指定默认的文件扩展名。
lpszFileName 指定默认的文件名。
dwFlags 指明一些特定风格。
lpszFilter 是最重要的一个参数,它指明可供选择的文件类型
和相应的扩展名。
//打开文件对话框窗口 选择所要打开的记事本文件
void CLoveDlg::OnButtonRead()
{
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1,str);
//或者使用此语句: GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
}
//保存记事本格式的文件
void CLoveDlg::OnButtonSave()
{
CString str;
CFileDialog FileDlg(FALSE,"txt","QQ网名伪原创",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
FileDlg.m_ofn.lpstrInitialDir="桌面:\\";
if(FileDlg.DoModal()==IDOK)
{
ofstream ofs(FileDlg.GetPathName());
GetDlgItem(IDC_EDIT2)->GetWindowText(str);
ofs<
}
注意:#include
全部回答
- 1楼网友:大漠
- 2021-01-14 22:08
CFileDialog test;
test.DoModal();
test.DoModal();
- 2楼网友:由着我着迷
- 2021-01-14 21:32
定义一个button或者Menu,设置单击事件,然后用1楼的方法,就能实现。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯