mfc调用浏览器打开文件

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

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

使用CHtmlView类,其实是对IE内核的封装。

以下是一个简单的浏览器的思路:

1.应该具备的功能: 前进,后退,刷新,跳转到,停止载入:

2.实现 (以上四个功能都有对应的成员函数)

前进: void GoForward ()

后退: void GoBack ()

刷新: void Refresh ()

跳转到:void Navigate( LPCTSTR URL, DWORD dwFlags = 0, LPCTSTR lpszTargetFrameName = NULL, LPCTSTR lpszHeaders = NULL, LPVOID lpvPostData = NULL, DWORD dwPostDataLen = 0 )

一般来说,只用填写第一个参数就可以了。

停止载入: void Stop ()

如何创建浏览文件夹的对话框

CString CXXXXDlg::GetOpenfolderPath()

{

BROWSEINFO bi

ZeroMemory(&bi,sizeof(BROWSEINFO))

bi.ulFlags = 0x0040 | BIF_EDITBOX

LPMALLOC pMalloc

LPITEMIDLIST pidl = SHBrowseForFolder(&bi)

CString strFolderPath = "" char savepath[MAX_PATH]

memset(savepath,0,sizeof(savepath)) if(pidl != NULL){

SHGetPathFromIDList(pidl,savepath)

strFolderPath.Format(_T("%s"), savepath)

f (SUCCEEDED(SHGetMalloc(&pMalloc))) {

pMalloc->Free(pidl)

pMalloc->Release()

}

} return strFolderPath

}


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

原文地址: http://outofmemory.cn/bake/11638939.html

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

发表评论

登录后才能评论

评论列表(0条)

保存