mfc创建浏览器,MFC浏览器开发指南
编辑:浏览器知识1. MFC浏览器开发指南 - 简介
MFC(Microsoft Foundation Classes)是微软推出的一套应用框架,主要用于Windows桌面应用程序的开发。在MFC的基础上,可以快速开发各种应用程序,包括浏览器。本文将介绍如何利用MFC创建浏览器。
2. 创建MFC项目
在Visual Studio中,创建一个MFC应用程序项目。选择“应用程序向导”中的“单文档结构”类型。接着,勾选“Internet Explorer资源”选项,点击“完成”按钮。
3. 添加WebBrowser控件
在项目视图中,双击MainFrm.cpp文件。在OnCreate函数中加入以下代码:
CRect rect;
GetClientRect(&rect);
m_wndBrowser.Create(NULL, NULL, WS_CHILD | WS_VISIBLE, rect, this, AFX_IDW_PANE_FIRST, NULL);
此代码将在主窗口中添加一个WebBrowser控件,用于显示网页。
4. 加载网页
我们可以在浏览器中默认打开一个网页。在OnCreate函数中加入以下代码:
m_wndBrowser.Navigate(_T("http://www.baidu.com"), NULL, NULL, NULL, NULL);
此代码将在浏览器中加载百度网站。可以根据需要修改网址。
5. 增加前进后退按钮
在MainFrm.h文件中添加以下代码:
CMFCToolBar m_wndToolBar;
在OnCreate函数中加入以下代码:
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
CString strToolBarName;
strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
m_wndToolBar.SetWindowText(strToolBarName);
此代码将在主窗口中增加一个标准的工具条。接着,我们在主窗口的OnUpdateViewStyles函数中添加以下代码,增加前进后退按钮:
pCmdUI->Enable(TRUE);
if (pCmdUI->m_nID == ID_VIEW_BACK)
{
CComPtr
m_wndBrowser.GetBrowserObject(&pBrowser);
ASSERT(pBrowser);
pCmdUI->Enable(pBrowser->GoBack() == S_OK);
}
else if (pCmdUI->m_nID == ID_VIEW_FORWARD)
{
CComPtr
m_wndBrowser.GetBrowserObject(&pBrowser);
ASSERT(pBrowser);
pCmdUI->Enable(pBrowser->GoForward() == S_OK);
}
6. 增加地址栏
在MainFrm.h文件中添加以下代码:
CMFCToolBarComboBoxButton m_wndAddressBar;
在OnCreate函数中添加以下代码:
if (!m_wndAddressBar.Create(&m_wndToolBar, AFX_IDW_TOOLBAR + 1, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VISIBLE, AFX_IDW_TOOLBAR))
{
TRACE0("Failed to create address bar combobox\n");
return -1; // fail to create
}
m_wndAddressBar.SetMinWidth(200);
m_wndToolBar.SetToolBarBtnText(m_wndToolBar.CommandToIndex(ID_VIEW_BACK), _T(""));
m_wndToolBar.SetToolBarBtnText(m_wndToolBar.CommandToIndex(ID_VIEW_FORWARD), _T(""));
m_wndToolBar.SetToolBarBtnText(m_wndToolBar.CommandToIndex(ID_VIEW_REFRESH), _T(""));
m_wndToolBar.SetToolBarBtnText(m_wndToolBar.CommandToIndex(ID_VIEW_STOP), _T(""));
此代码将在主窗口中增加一个地址栏。在OnUpdateViewStyles函数中,我们添加以下代码,用来更新地址栏中的网址:
if (pCmdUI->m_nID == AFX_IDW_TOOLBAR + 1)
{
CString strURL;
CComPtr
m_wndBrowser.GetBrowserObject(&pBrowser);
ASSERT(pBrowser);
CComBSTR bstrURL;
if (pBrowser->get_LocationURL(&bstrURL) == S_OK && bstrURL)
{
strURL = bstrURL;
}
m_wndAddressBar.SetWindowText(strURL);
}
7. 增加搜索功能
我们可以在地址栏中输入搜索关键字,并打开搜索引擎搜索。在MainFrm.h文件中添加以下代码:
enum { CMD_SEARCH = 0xE900 };
在OnCreate函数中添加以下代码:
m_wndToolBar.InsertButton(CMD_SEARCH, ID_VIEW_STOP, TBSTATE_ENABLED | TBSTATE_HIDDEN, _T("Search"), NULL);
此代码将在工具条中增加一个搜索按钮。接着,我们在主窗口的OnCmdMsg函数中添加以下代码,用来响应搜索按钮的点击:
if (nID == CMD_SEARCH)
{
CString strURL = _T("http://www.baidu.com/s?");
CString strSearch = _T("");
m_wndAddressBar.GetWindowText(strSearch);
if (!strSearch.IsEmpty())
{
strSearch.Replace(_T(" "), _T("+"));
strURL += _T("wd=") + strSearch;
m_wndBrowser.Navigate(strURL, NULL, NULL, NULL, NULL);
}
return TRUE;
}
此代码将在浏览器中打开百度搜索结果页面。
8. 总结
以上就是利用MFC创建浏览器的基本步骤。通过本文的介绍,相信读者已经掌握了如何使用MFC实现浏览器的开发。读者也可以在此基础上进一步完善浏览器的功能,如增加书签功能、增加历史记录等。
文章TAG:创建 浏览 浏览器 开发 mfc创建浏览器加载全部内容