浏览器家园·资讯

展开

mfc创建浏览器,MFC浏览器开发指南

编辑:浏览器知识

1. MFC浏览器开发指南 - 简介

MFC(Microsoft Foundation Classes)是微软推出的一套应用框架,主要用于Windows桌面应用程序的开发。在MFC的基础上,可以快速开发各种应用程序,包括浏览器。本文将介绍如何利用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 pBrowser;

m_wndBrowser.GetBrowserObject(&pBrowser);

ASSERT(pBrowser);

pCmdUI->Enable(pBrowser->GoBack() == S_OK);

}

else if (pCmdUI->m_nID == ID_VIEW_FORWARD)

{

CComPtr pBrowser;

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 pBrowser;

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创建浏览器  

加载全部内容

相关教程
猜你喜欢
大家都在看