MFC程序怎样实现“复制”“粘贴”功能,我做了一个程序,在窗口客户区显示表格和文字,但不能复制粘贴

MFC程序怎样实现“复制”“粘贴”功能,我做了一个程序,在窗口客户区显示表格和文字,但不能复制粘贴,第1张

用CRichEditView类。比如:你可以在创建MFC程序的最后一步时把视或耐早图基类设为CRichEditView 即可。

一个“带格式编辑控件”是一个窗口,在这个窗口中用户可以输入和编辑文本。文本可以被赋予字母或段落的格式化,也可以包括嵌入的OLE对象。带格式编辑控件为格式化文本提供了设衫雀计界面。但是,应用程序必须实现需要的用户部亩漏件,以使格式化 *** 作对用户来说可用。 CRichEditView类与CRichEditDoc和CRichEditCntrItem一起,提供了MFC文档-视环境中的带格式编辑控件的功能。CRichEditView保存文本和文本的格式化特征。CRichEditDoc保持视中的客户项的列表。CRichEditCntrItem支持从容器方对OLE客户项的访问。

主要有两个难点:

1、如何选择文件

2、选择好文件之后,如果复制;

1st、关于文件选择,可参考下面这段代码:

CString CDcPackerDlg::BootOpenDialog() //返回选橡模择的文闷蔽件名称

{

CString strFile = _T("")

CFileDialogdlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL)

if (dlgFile.DoModal())

{

strFile = dlgFile.GetPathName()

}

return strFile

}

//加载文件按钮

void CDcPackerDlg::OnBnClickedSelectdec()

{

// TODO: Add your control notification handler code here

m_strDescPath = "" //类的成员变量

//"打开文件"对话框,选择文件,返回其路径

m_strDescPath = BootOpenDialog()

}

2nd、文件复制:

2.1 获得程序目录

CString strPath = "", strDir = ""

char filepath[MAX_PATH]

GetModuleFileName(NULL, filepath, MAX_PATH)

strDir.Format("%s", filepath)

strPath = strDir.Left(strDir.ReverseFind('\\'))

2.2 复制文件

在蚂如州MFC下可以用CopyFile()函数,定义如下:

BOOL CopyFile(

LPCTSTR lpExistingFileName, //原文件地址,包括文件名

LPCTSTR lpNewFileName, ////目的文件地址,包括文件名

BOOL bFailIfExists //如果目的文件存在的 *** 作

)

3rd、自己把上面给的代码组装一下,就可以满足你的要求了。

打字不易,如满意,望采纳。

直接ctrl+a全选复制粘贴。

MFC中从一个dialog复制控件谨樱到另一个dialog只需要选中,复制,粘贴就可以了,剩下的就是添加调整布局和修改消息相应。

同一个dialog的控件复制要注意ID和消息相应函尘晌局数的修改,派让否则容易异常。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12350414.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存