mfc调用浏览器打开文件

mfc调用浏览器打开文件,第1张

在MFC中微软为我们提供了CHtmlView、 CDHtmlDialog 类让我们的程序很方便的嵌入浏览器和进行浏览器的二次开发,这比直 接使用WebBrowser控件要方便很多,所以本文中讨论的浏览器的问题都是针对CHtmlView来讨论的。文中将提到一个类CLhpHtmlView, 它缺闹拆是CHtmlView的派生类,文中提伏枣及的扩展或定制都将在CLhpHtmlView类(或派生类)上实弯桥现。

主要有两个难点:

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、自己把上面给的代码组装一下,就可以满足你的要求了。


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

原文地址: http://outofmemory.cn/tougao/12231904.html

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

发表评论

登录后才能评论

评论列表(0条)

保存