当前位置:C++技术网 > 资讯 > MFC实现复制文件操作小程序代码实现

MFC实现复制文件操作小程序代码实现

更新时间:2016-02-07 20:15:16浏览次数:1+次

先来看看,我们的实现结果:

我们完成了将桌面上的一个记事本复制到了D盘下我们新建的一个11的记事本里面。

新建一个对话框工程,设计界面如下:

分别为两个编辑框关联值类型的而不是控件变量哦,对于两者的区别,请看《控件变量与值变量的区别》,都是CString类型的:

DDX_Text(pDX, IDC_EDIT1, m_oFile);
	DDX_Text(pDX, IDC_EDIT2, m_nFile);
为三个按钮建立消息响应:
void CCopyFileDlg::OnButselect() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"All Files(*.*)|*.*||",AfxGetMainWnd());	//构造文件打开对话框
	if (dlg.DoModal() == IDOK)						//判断是否按下"打开"按钮
	{
		m_oFile   = dlg.GetPathName();				//获得文件路径
		m_FileExt = dlg.GetFileExt();
		UpdateData(FALSE);
	}
}

void CCopyFileDlg::OnButnewpath() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
		"All Files(*.*)|*.*||",AfxGetMainWnd());			//构造文件另存为对话框
	CString strText=".";							//声明变量
	strText += m_FileExt;
	if (dlg.DoModal() == IDOK)								//判断是否按下"保存"按钮
	{
		m_nFile = dlg.GetPathName();						//获得文件保存路径
		if (m_nFile.Right(4) != strText)						//判断文件扩展名
		{
			m_nFile += strText;							//设置文件扩展名
		}
		UpdateData(FALSE);
	}
}

void CCopyFileDlg::OnButcopy() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	BOOL ret = CopyFile(m_oFile,m_nFile,TRUE);
	if (ret)
		MessageBox("复制成功","提示",MB_OK);
	else
		MessageBox("复制失败","提示",MB_OK);
}
具体的代码解释,留到下篇文章,其实就是CopyFile这个函数的应用。