手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

利用VisualC 打造自己的IE浏览器

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in mfcieView.cpp
inline CMfcieDoc* CMfcieView::GetDocument()
{ return (CMfcieDoc*)m_pDocument; }
#endif
#endif

////////////////////////////////////////////////
#include "stdafx.h"
#include "mfcie.h"
#include "MainFrm.h"

#include "mfcieDoc.h"
#include "mfcieVw.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

////////////////////////////////////// CMfcieView
IMPLEMENT_DYNCREATE(CMfcieView, CHtmlView)
BEGIN_MESSAGE_MAP(CMfcieView, CHtmlView)
//{{AFX_MSG_MAP(CMfcieView)
ON_COMMAND(ID_GO_BACK, OnGoBack)
ON_COMMAND(ID_GO_FORWARD, OnGoForward)
ON_COMMAND(ID_GO_SEARCH_THE_WEB, OnGoSearchTheWeb)
ON_COMMAND(ID_GO_START_PAGE, OnGoStartPage)
ON_COMMAND(ID_VIEW_STOP, OnViewStop)
ON_COMMAND(ID_VIEW_REFRESH, OnViewRefresh)
ON_COMMAND(ID_HELP_WEB_TUTORIAL, OnHelpWebTutorial)
ON_COMMAND(ID_HELP_ONLINE_SUPPORT, OnHelpOnlineSupport)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_FREE_STUFF, OnHelpMicrosoftOnTheWebFreeStuff)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_FREQUENTLY_ASKED_QUESTIONS, OnHelpMicrosoftOnTheWebFrequentlyAskedQuestions)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_GET_FASTER_INTERNET_ACCESS, OnHelpMicrosoftOnTheWebGetFasterInternetAccess)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_MICROSOFT_HOME_PAGE, OnHelpMicrosoftOnTheWebMicrosoftHomePage)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_SEARCH_THE_WEB, OnHelpMicrosoftOnTheWebSearchTheWeb)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_SEND_FEEDBACK, OnHelpMicrosoftOnTheWebSendFeedback)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_INTERNET_START_PAGE, OnHelpMicrosoftOnTheWebInternetStartPage)
ON_COMMAND(ID_HELP_MICROSOFT_ON_THE_WEB_BEST_OF_THE_WEB, OnHelpMicrosoftOnTheWebBestOfTheWeb)
ON_COMMAND(ID_VIEW_FONTS_LARGEST, OnViewFontsLargest)
ON_COMMAND(ID_VIEW_FONTS_LARGE, OnViewFontsLarge)
ON_COMMAND(ID_VIEW_FONTS_MEDIUM, OnViewFontsMedium)
ON_COMMAND(ID_VIEW_FONTS_SMALL, OnViewFontsSmall)
ON_COMMAND(ID_VIEW_FONTS_SMALLEST, OnViewFontsSmallest)
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

CMfcieView::CMfcieView()
{
}

CMfcieView::~CMfcieView()
{
}

BOOL CMfcieView::PreCreateWindow(CREATESTRUCT& cs)
{
cs.lpszClass = AfxRegisterWndClass(0);
return CView::PreCreateWindow(cs);
}

void CMfcieView::OnDraw(CDC* pDC)
{
CMfcieDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
}

#ifdef _DEBUG
void CMfcieView::AssertValid() const
{
CView::AssertValid();
}

void CMfcieView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}

CMfcieDoc* CMfcieView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMfcieDoc)));
return (CMfcieDoc*)m_pDocument;
}
#endif //_DEBUG

void CMfcieView::OnTitleChange(LPCTSTR lpszText)
{
// this will change the main frame’s title bar
if (m_pDocument != NULL)
m_pDocument->SetTitle(lpszText);
}

void CMfcieView::OnDocumentComplete(LPCTSTR lpszUrl)
{
// make sure the main frame has the new URL. This call also stops the animation
((CMainFrame*)GetParentFrame())->SetAddress(lpszUrl);
}

void CMfcieView::OnInitialUpdate()
{
// Go to the home page initially
CHtmlView::OnInitialUpdate();
GoHome();
}

void CMfcieView::OnBeforeNavigate2(LPCTSTR /*lpszURL*/, DWORD /*nFlags*/,
LPCTSTR /*lpszTargetFrameName*/, CByteArray& /*baPostedData*/,
LPCTSTR /*lpszHeaders*/, BOOL* /*pbCancel*/)
{
// start the animation so that is plays while the new page is being loaded
((CMainFrame*)GetParentFrame())->StartAnimation();
}

// these are all simple one-liners to do simple controlling of the browser
void CMfcieView::OnGoBack()
{
GoBack();
}

void CMfcieView::OnGoForward()
{
GoForward();
}

void CMfcieView::OnGoSearchTheWeb()
{
GoSearch();
}

void CMfcieView::OnGoStartPage()
{
GoHome();
}

void CMfcieView::OnViewStop()
{
Stop();
}

void CMfcieView::OnViewRefresh()
{
Refresh();
}

// these all go to specific web pages, just like Internet Explorer’s help menu
void CMfcieView::OnHelpWebTutorial()
{
CString str;

str.LoadString(IDS_WEB_TUTORIAL);
Navigate2(str, 0, NULL);
}

void CMfcieView::OnHelpOnlineSupport()
{
CString str;

str.LoadString(IDS_ONLINE_SUPPORT);
Navigate2(str, 0, NULL);
}

void CMfcieView::OnHelpMicrosoftOnTheWebBestOfTheWeb()
{
CString str;

str.LoadString(IDS_BEST_OF_THE_WEB);
Navigate2(str, 0, NULL);
}

void CMfcieView::OnHelpMicrosoftOnTheWebFreeStuff()
{
CString str;

str.LoadString(IDS_FREE_STUFF);
Navigate2(str, 0, NULL);
}

void CMfcieView::OnHelpMicrosoftOnTheWebFrequentlyAskedQuestions()
{
CString str;

str.LoadString(IDS_FREQUENTLY_ASKED_QUESTIONS);

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!